示例#1
0
        private async Task <AuthResponse> GenerateJwt(User user)
        {
            var claims = await CreateClaims(user);

            var handler     = new JwtSecurityTokenHandler();
            var issuer      = _applicationConfiguration.Issuer();
            var secret      = _applicationConfiguration.Secret();
            var credentials = new SigningCredentials(new SymmetricSecurityKey(secret), SecurityAlgorithms.HmacSha512);
            var token       = handler.CreateJwtSecurityToken(issuer, null, claims, DateTime.UtcNow,
                                                             DateTime.UtcNow.AddDays(7), DateTime.UtcNow, credentials);

            user.Password = null;
            return(new AuthResponse
            {
                User = user,
                Jwt = handler.WriteToken(token),
            });
        }