コード例 #1
0
ファイル: JwtManager.cs プロジェクト: mumby0168/VMS
        public string CreateToken(Guid id, string email, string role)
        {
            var descriptor = _jwtFactory.CreateTokenDescriptor();
            var claims     = new List <Claim>
            {
                _jwtFactory.CreateClaim(ClaimTypes.Email, email),
                _jwtFactory.CreateClaim(ClaimTypes.NameIdentifier, id.ToString()),
                _jwtFactory.CreateClaim(ClaimTypes.Role, role)
            };
            var identity = _jwtFactory.CreateClaimsIdentity(claims);

            descriptor.Subject            = identity;
            descriptor.Expires            = DateTime.Now.AddHours(3);
            descriptor.SigningCredentials = _jwtFactory.CreateSigningCredentials(_configuration.GetSection("jwt:secret").Value, SecurityAlgorithms.HmacSha512Signature);
            var token = _jwtSecurityTokenHandler.CreateToken(descriptor);

            return(_jwtSecurityTokenHandler.WriteToken(token));
        }