Beispiel #1
0
        private TokenResult BuildToken(DreamerUserDto dreamerUser)
        {
            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, dreamerUser.Id.ToString()),
                new Claim(ClaimTypes.Email, dreamerUser.Email),
                new Claim(ClaimTypes.Name, dreamerUser.Name),
                new Claim(ClaimTypes.Role, dreamerUser.Role.ToString())
            };
            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(TokenConfig.TokenKey));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var token = new JwtSecurityToken(
                issuer: TokenConfig.Domain,
                audience: TokenConfig.Domain,
                claims: claims,
                expires: DateTime.Now.AddHours(TokenConfig.ExpiredInHours),
                signingCredentials: creds);

            return(new TokenResult()
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token),
                Issuer = token.Issuer,
                Expires = token.ValidTo,
                Role = dreamerUser.Role
            });
        }
Beispiel #2
0
        public IActionResult AddNewUser(DreamerUserDto user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var savedUser = SecurityRepository.AddNewUser(user.Email, user.Password, user.Name, user.Role);

            if (savedUser == null)
            {
                return(BadRequest());
            }
            else
            {
                return(Json(savedUser));
            }
        }