Exemple #1
0
        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));
        }
        public async Task <IActionResult> Post([FromBody] string userName)
        {
            var user = await _userManager.FindByNameAsync(userName);

            var claimsIdentity = _jwtFactory.CreateClaimsIdentity(userName, user.Id);
            var jwt            = Token.GenerateJwt(claimsIdentity, _jwtFactory, userName, _issuerOptions, new JsonSerializerSettings {
                Formatting = Formatting.Indented
            });

            return(new OkObjectResult(jwt));
        }