public bool AuthenticateUser(ScimLogin loginModel)
 {
     return(repository
            .AuthenticateUser(
                loginModel.UserName,
                loginModel.Password));
 }
Exemplo n.º 2
0
        public IActionResult Post([FromBody] ScimLogin loginModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var authenticated = userService.AuthenticateUser(loginModel);

                    if (!authenticated)
                    {
                        return(Unauthorized());
                    }

                    var claims = new[]
                    {
                        new Claim(JwtRegisteredClaimNames.Sub, loginModel.UserName),
                        new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
                    };

                    var token = new JwtSecurityToken
                                (

                        issuer: configuration.GetValue <string>("Issuer"),
                        audience: configuration.GetValue <string>("Audience"),
                        claims: claims,
                        expires: DateTime.UtcNow.AddDays(60),
                        notBefore: DateTime.UtcNow,
                        signingCredentials: new SigningCredentials(
                            new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration.GetValue <string>("SigningKey"))),
                            SecurityAlgorithms.HmacSha256)
                                );

                    return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(BadRequest());
        }