Пример #1
0
        public IActionResult Authenticate([FromBody] AuthenticationModel model)
        {
            var user = _userInfoService.Authenticate(model.UserName, model.Password);

            if (user == null)
            {
                return(BadRequest(new { mes = "Username or password incorrect" }));
            }
            return(Ok(user));
        }
Пример #2
0
        public async Task <IActionResult> Authenticate([FromBody] AuthenticateModel model)
        {
            var user = await _infoService.Authenticate(model.Username, model.Password);

            if (user == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect" }));
            }

            return(Ok(user));
        }
Пример #3
0
        public IActionResult Authenticate([FromBody] GetUserRequest request)
        {
            var resp = _service.Authenticate(request);

            if (resp.Success)
            {
                return(Ok(resp.User));
            }

            return(BadRequest(resp.Message));
        }
        public IActionResult Authenticate(AuthenticateRequest model)
        {
            var response = _userInfoService.Authenticate(model);

            if (response == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect" }));
            }

            return(Ok(response));
        }
Пример #5
0
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            // skip authentication if endpoint has [AllowAnonymous] attribute
            var endpoint = Context.GetEndpoint();

            if (endpoint?.Metadata?.GetMetadata <IAllowAnonymous>() != null)
            {
                return(AuthenticateResult.NoResult());
            }

            if (!Request.Headers.ContainsKey("Authorization"))
            {
                return(AuthenticateResult.Fail("Missing Authorization Header"));
            }

            UserInfo user = null;

            try
            {
                var authHeader      = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
                var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
                var credentials     = Encoding.UTF8.GetString(credentialBytes).Split(new[] { ':' }, 2);
                var username        = credentials[0];
                var password        = credentials[1];
                user = await _userInfoService.Authenticate(username, password);
            }
            catch
            {
                return(AuthenticateResult.Fail("Invalid Authorization Header"));
            }

            if (user == null)
            {
                return(AuthenticateResult.Fail("Invalid Username or Password"));
            }

            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()),
                new Claim(ClaimTypes.Name, user.UserName),
            };
            var identity  = new ClaimsIdentity(claims, Scheme.Name);
            var principal = new ClaimsPrincipal(identity);
            var ticket    = new AuthenticationTicket(principal, Scheme.Name);

            return(AuthenticateResult.Success(ticket));
        }
Пример #6
0
        public UserInfo Authenticate(string username, string password)
        {
            //var user = userInfos.SingleOrDefault(x => x.Username == username && x.Password == password);
            var user = _userService.Authenticate(username, password);

            if (user == null)
            {
                return(null);
            }
            var tokenHandler    = new JwtSecurityTokenHandler();
            var ket             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[] {
                    new Claim(ClaimTypes.Name, user.UserInfoId.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(ket), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            user.Token = tokenHandler.WriteToken(token);
            return(user);
        }