Ejemplo n.º 1
0
 private Claim[] GetClaims(Models.TokenRequest request)
 {
     return(new[]
     {
         new Claim(ClaimTypes.Name, request.Username)
     });
 }
        public ActionResult RequestToken([FromBody] Models.TokenRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_userManagementService.IsValidUser(request.Username, request.Password))
            {
                return(BadRequest("Invalid User"));
            }

            var token = _tokenService.GetNewToken(request);

            return(Ok(token));
        }
Ejemplo n.º 3
0
        public string GetNewToken(Models.TokenRequest request)
        {
            var claims = GetClaims(request);

            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenConfig.Secret));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var jwtToken = new JwtSecurityToken(
                _tokenConfig.Issuer,
                _tokenConfig.Audience,
                claims,
                expires: _timeProvider.Now().AddMinutes(_tokenConfig.AccessExpiration),
                signingCredentials: credentials
                );

            return(new JwtSecurityTokenHandler().WriteToken(jwtToken));
        }