Exemple #1
0
        private static object GenerateToken(CapRedV2User user, IEnumerable <string> roles, IConfiguration configuration)
        {
            var issuedOn          = DateTime.Now;
            var expiration        = DateTime.Now.AddDays(14);
            var enumerableOfRoles = roles as string[] ?? roles.ToArray();
            var rolesClaim        = enumerableOfRoles.Any() ? enumerableOfRoles.Aggregate((i, j) => i + "," + j) : string.Empty;

            var claims = new[]
            {
                new Claim(ClaimTypes.Name, user.UserName),
                new Claim(ClaimTypes.Role, rolesClaim),
                new Claim(JwtRegisteredClaimNames.Aud, configuration["TokenSettings:Audience"]),
                new Claim(JwtRegisteredClaimNames.Iss, configuration["TokenSettings:Issuer"]),
                new Claim(JwtRegisteredClaimNames.Nbf, new DateTimeOffset(issuedOn).ToUnixTimeSeconds().ToString()),
                new Claim(JwtRegisteredClaimNames.Exp, new DateTimeOffset(expiration).ToUnixTimeSeconds().ToString()),
            };

            var token = new JwtSecurityToken(
                new JwtHeader(new SigningCredentials(
                                  new SymmetricSecurityKey(Encoding.UTF8.GetBytes(TokenConstants.TokenSalt)),
                                  SecurityAlgorithms.HmacSha256)),
                new JwtPayload(claims));

            return(new
            {
                access_token = new JwtSecurityTokenHandler().WriteToken(token),
                token_type = "bearer JWT",
                issuedOn,
                expiration
            });
        }
        private static void SeedUsers(CapRedV2Context context)
        {
            if (context.Users.Any(u => u.Id == "ff9398f7-7658-4f1b-b155-8b98e9dffc0c"))
            {
                return;
            }

            var nexusUser = new CapRedV2User
            {
                Id = "ff9398f7-7658-4f1b-b155-8b98e9dffc0c",
                AccessFailedCount    = 0,
                ConcurrencyStamp     = "f1e41336-f067-447f-ad6d-77c7715602c8",
                UserName             = "******",
                Email                = "*****@*****.**",
                EmailConfirmed       = false,
                IsActive             = null,
                LockoutEnabled       = true,
                LockoutEnd           = null,
                NormalizedEmail      = "*****@*****.**",
                NormalizedUserName   = "******",
                PasswordHash         = "AQAAAAEAACcQAAAAEIF95+8PMXIq+ABPZUGqspbx3NE/GPcOEh7N7ne98FolAGQQdjYIs2hQt18GFbHpKA==",
                PhoneNumberConfirmed = false,
                SecurityStamp        = "503bd33d-df51-4dbf-9a73-c8f357f64232",
                TwoFactorEnabled     = false
            };

            context.Users.Add(nexusUser);
        }
Exemple #3
0
        public async Task <IdentityResult> RegisterAsync(CapRedV2UserSignUpDTO capRedV2UserSignUpDTO)
        {
            _signUpValidatorEngine.Validate(capRedV2UserSignUpDTO);

            var user = new CapRedV2User
            {
                UserName = capRedV2UserSignUpDTO.Email,
                Email    = capRedV2UserSignUpDTO.Email
            };

            return(await _userManager.CreateAsync(user, capRedV2UserSignUpDTO.Password));
        }
Exemple #4
0
 public async Task <IList <string> > GetRolesAsync(CapRedV2User user)
 {
     return(await _userManager.GetRolesAsync(user));
 }