示例#1
0
        public override async Task <string> GenerateTwoFactorTokenAsync(UserModel user, string tokenProvider)
        {
            using var dbContext = new GameDbContext(_dbContextOptions);
            var emailTokenProvider = new EmailTokenProvider <UserModel>();
            var token = await emailTokenProvider.GenerateAsync("TwoFactor", this, user);

            dbContext.TwoFactorCodeModels.Add(new TwoFactorCodeModel {
                TokenCode = token, TokenProvider = tokenProvider, UserId = user.Id
            });

            if (dbContext.ChangeTracker.HasChanges())
            {
                await dbContext.SaveChangesAsync();
            }

            return(token);
        }