Exemple #1
0
 private static IEnumerable <Claim> GetTokenClaims(IdentityUser user)
 {
     return(new List <Claim>
     {
         new Claim(JwtRegisteredClaimNames.UniqueName, user.Id.ToString())
     });
 }
Exemple #2
0
        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));
        }
Exemple #3
0
        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)
                       ));
        }