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)); }
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)); }