private static IEnumerable <Claim> GetTokenClaims(IdentityUser user) { return(new List <Claim> { new Claim(JwtRegisteredClaimNames.UniqueName, user.Id.ToString()) }); }
public async Task <IActionResult> Register([FromBody] RegistrationModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new IdentityUser { Id = ObjectId.GenerateNewId(), UserName = model.Email, NormalizedUserName = _userManager.NormalizeName(model.Email), Email = model.Email, NormalizedEmail = _userManager.NormalizeEmail(model.Email) }; var result = await _userManager.CreateAsync(user).ConfigureAwait(false); if (result.Succeeded) { result = await _userManager.AddPasswordAsync(user, model.Password).ConfigureAwait(false); if (result.Succeeded) { return(Ok()); } } return(StatusCode(500, result.Errors)); }
private async Task <JwtSecurityToken> GetJwtSecurityToken(IdentityUser user) { const string signinAlgorithm = SecurityAlgorithms.HmacSha256; var userClaims = await _userManager.GetClaimsAsync(user).ConfigureAwait(false); return(new JwtSecurityToken( _configuration.Issuer, _configuration.Audience, GetTokenClaims(user).Union(userClaims), expires: DateTime.UtcNow.AddSeconds(_configuration.ExpireInSec), signingCredentials: new SigningCredentials(_configuration.SecurityKey, signinAlgorithm) )); }