예제 #1
0
        public async Task <IActionResult> Login([FromBody] AuthLogIn credenziali)
        {
            var query = new LogInQuery()
            {
                Username = credenziali.username,
                Password = credenziali.password
            };

            try
            {
                var utente = (Utente)this._handler.Handle(query).User;

                if (utente == null)
                {
                    return(Unauthorized());
                }

                return(Ok(utente));
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("no element"))
                {
                    return(StatusCode(404, "Credenziali errate"));
                }
                return(BadRequest(ex.Message));
            }
        }
예제 #2
0
        public async Task <IActionResult> Login([FromBody] AuthLogIn crenenziali)
        {
            var headerValues = Request.Headers["HubConnectionId"];

            string ConId = headerValues.FirstOrDefault();

            var query = new LogInQuery()
            {
                Username = crenenziali.username,
                Password = crenenziali.password
            };

            try
            {
                var utente = (Utente)this._handler.Handle(query).User;

                if (utente == null)
                {
                    return(Unauthorized());
                }

                await _NotificationHub.Clients.Client(ConId).SendAsync("NotifyAuth", utente);

                return(Ok(utente));
            }
            catch
            {
                return(BadRequest());
            }
        }
예제 #3
0
        public async Task <IActionResult> Login([FromBody] AuthLogIn credenziali)
        {
            var query = new LogInQuery()
            {
                Username = credenziali.username,
                Password = credenziali.password
            };

            try
            {
                var CasAbilitato = _config.GetSection("CasTest").Value;

                if (CasAbilitato.Equals("true"))
                {
                    var utente = (Utente)this._handler.Handle(query).User;

                    if (utente == null)
                    {
                        return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato }));
                    }

                    return(Ok(utente));
                }
                else
                {
                    return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato }));
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("no element"))
                {
                    return(StatusCode(404, new { message = "Le credenziali inserite non risultano corrette" }));
                }
                return(BadRequest(new { message = ex.Message }));
            }
        }
예제 #4
0
        public async Task <IActionResult> Login([FromBody] AuthLogIn credenziali)
        {
            var query = new LogInQuery()
            {
                Username = credenziali.username,
                Password = credenziali.password
            };

            try
            {
                var utente = (Utente)this._handler.Handle(query).User;

                if (utente == null)
                {
                    return(Unauthorized());
                }

                return(Ok(utente));
            }
            catch
            {
                return(BadRequest());
            }
        }
예제 #5
0
        public ActionResult <AuthResult> LogIn(AuthLogIn login)
        {
            var claims = new[]
            {
                new Claim(ClaimTypes.Name, login.UserName),
                new Claim("LuckyNumber", "9922")
            };

            var key = new SymmetricSecurityKey(
                Encoding.UTF8.GetBytes(config["SecurityKey"]));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var token = new JwtSecurityToken(
                issuer: "yourdomain.com",
                audience: "yourdomain.com",
                claims: claims,
                expires: DateTime.Now.AddMinutes(30),
                signingCredentials: creds);

            return(Ok(new AuthResult
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }