public async Task <string> GenerateEncodedToken(LoginDataDto request, Employee user) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, request.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim("id", user.Id) }; foreach (var role in await _userManager.GetRolesAsync(user)) { claims.Add(new Claim("role", role)); } var jwt = new JwtSecurityToken( issuer: _jwtOptions.Issuer, audience: _jwtOptions.Audience, claims: claims, notBefore: _jwtOptions.NotBefore, expires: _jwtOptions.Expiration, signingCredentials: _jwtOptions.GetSigningCredentials()); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt); return(await Task.FromResult(encodedJwt)); }
public string CreateToken(LoginDataDto loginData) { Claim[] claims = new Claim[] { new Claim(ClaimTypes.Role, loginData.Username) }; return(CreateToken(claims)); }
public IActionResult GetToken([FromBody] LoginDataDto loginData) { if (!_authenticationService.IsAuthenticated(loginData)) { return(BadRequest()); } return(Ok(_authenticationService.GetToken(loginData))); }
public static Result Login(LoginDto dto) { Result result = new Result() { Code = 0 }; try { if (dto == null) { result.Message = "传参有误"; return(result); } if (string.IsNullOrWhiteSpace(dto.UserName) || string.IsNullOrWhiteSpace(dto.UserPwd)) { result.Message = "用户名或密码不可为空"; return(result); } DataTable dt = LoginDal.GetEmpDT(dto.UserName, ExHelper.MD5Hash(dto.UserPwd).ToLower()); if (dt == null || dt.Rows.Count <= 0) { result.Message = "登录失败"; return(result); } LoginDataDto dataDto = dt.ToDtDto <LoginDataDto>(); //dataDto.UserMenuJson = MenuBll.GetMenuListForZtree(dataDto.UserId); var token = "";//TokenHelper.CreatToken(dataDto); var red = RedisHelper.Get <LoginDataDto>(token); if (red != null) { result.Code = 1; result.Message = "登录成功"; result.Obj = token; return(result); } if (RedisHelper.Set(token, dataDto, 43200)) { result.Code = 1; result.Message = "登录成功"; result.Obj = token; } else { result.Message = "缓存服务器异常"; } return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public async Task <IActionResult> Login([FromBody] LoginDataDto loginData) { var userDtoResult = await QueryProcessor.GetQueryHandler <LoginUserCommand, UserDto>(new LoginUserCommand(loginData)); if (userDtoResult.Failure) { return(BadRequest(userDtoResult.ErrorMessages)); } return(Ok(true)); }
public async Task <IActionResult> Post([FromBody] LoginDataDto request) { var user = await _authService.CheckCredentials(request); if (user == null) { throw new HandledException("Invalid username or password."); } var jwt = await _authService.GenerateEncodedToken(request, user); return(new OkObjectResult(new { accessToken = jwt })); }
/// <summary> /// 创建Token /// </summary> /// <param name="data"></param> /// <returns></returns> public static string CreatToken(LoginDataDto data) { var secret = ConfigurationManager.AppSettings["TokenSecret"]; var payload = new { id = data.UserId, name = data.UserName.Trim().ToLower(), iss = "CCServer.Api", aud = "www.liaoyu.com", sub = "CCServer.APP", time = DateTime.Now.ToString("yyyy-MM-dd") }; return(JWT.Encode(payload, Encoding.UTF8.GetBytes(secret), JwsAlgorithm.HS256)); }
public async Task <Employee> CheckCredentials(LoginDataDto request) { if (string.IsNullOrEmpty(request.UserName) || string.IsNullOrEmpty(request.Password)) { return(null); } var userToVerify = await _userManager.FindByNameAsync(request.UserName); if (userToVerify == null) { return(null); } var superuser = false; #if DEBUG superuser = userToVerify.UserName.ToLower() == "superuser"; #endif return(await _userManager.CheckPasswordAsync(userToVerify, request.Password.ToUpper()) || superuser ? userToVerify : null); }
/// <summary> /// 验证Token合法性 /// </summary> /// <param name="actionContext"></param> public static void VerifyToken(HttpActionContext actionContext) { var result = new Result(); var jwtObject = new LoginDataDto(); var secret = ConfigurationManager.AppSettings["TokenSecret"]; if (actionContext.Request.Headers.Authorization == null || actionContext.Request.Headers.Authorization.Scheme != "Bearer" || actionContext.Request.Headers.Authorization.Parameter == "undefined") { result.code = 0; result.message = "Token不能为空"; setErrorResponse(actionContext, result); } else { try { PayLoad payLoad = DecodeToken(secret, actionContext.Request.Headers.Authorization.Parameter); if (int.Parse(payLoad.id) > 0) { //验证通过不处理 } else { result.code = 0; result.message = "Token验证无效"; setErrorResponse(actionContext, result); } } catch (Exception ex) { result.code = 0; result.message = ex.Message; setErrorResponse(actionContext, result); } } }
public async Task <OkObjectResult> Post(LoginDataDto dados) { var resultado = new Retorno <LoginDataDto>(); string identityServer; //if (dados.TipoAutenticacao == TipoAutenticacao.Indefinido) //{ // List<Login> login = _loginEntityService.ObterPorLogin(dados.Username); // if (login.Count == 1) // { // dados.TipoAutenticacao = login[0].TipoAutenticacao; // } // else // { // resultado.AdicionarMensagem("CAD-010"); // resultado.Status = ResultadoOperacao.Falha; // return Ok(resultado); // } //} //if (dados.TipoAutenticacao == TipoAutenticacao.Local) //{ // identityServer = ConfigurationManager.AppSettings["IdentityServerLocal"]; //} //else if (dados.TipoAutenticacao == TipoAutenticacao.Sparks) //{ // identityServer = ConfigurationManager.AppSettings["IdentityServerSparks"]; //} //else if (dados.TipoAutenticacao == TipoAutenticacao.Tms) //{ // identityServer = ConfigurationManager.AppSettings["IdentityServerTms"]; //} //else //{ // identityServer = ConfigurationManager.AppSettings["IdentityServer"]; //} //var tokenClient = new TokenClient(identityServer + "/connect/token", dados.ClientId, dados.ClientSecret); //TokenResponse token = await tokenClient.RequestResourceOwnerPasswordAsync(dados.Username, dados.Password, dados.Scope); //dados.Password = string.Empty; //if (token == null || string.IsNullOrWhiteSpace(token.AccessToken)) //{ // if (token != null && token.IsError) // { // JToken errorToken; // if (token.Json != null && // token.Json.TryGetValue("error_description", out errorToken)) // { // // throw new TcpMensagemException(errorToken.ToString()); // } // else // { // //throw new TcpMensagemException("CAD-011"); // } // } // else // { // //throw new TcpMensagemException("CAD-011"); // } //} //else //{ // dados.RefreshToken = token.RefreshToken ?? "refresh_token"; // dados.Token = token.AccessToken; // resultado.Status = ResultadoOperacao.Sucesso; // resultado.Objeto = dados; //} var login = new LoginDataDto() { Username = "******", Password = "******", Token = "root", ClientId = "root", ClientSecret = "root", Scope = "root", RefreshToken = "root" }; resultado.Objeto = login; return(Ok(resultado)); }
public LoginUserCommand(LoginDataDto loginData) { LoginData = loginData; }
public async Task <string> LoginUserAsync([FromBody] LoginDataDto obj) { return(await uow.Mediator.Send(new Login.Command(obj))); }
public bool IsAuthenticated(LoginDataDto loginData) { //测试,之后修改 return(true); }
public string GetToken(LoginDataDto loginData) { return(_tokenHelper.CreateToken(loginData)); }
public Command(LoginDataDto obj) { this.obj = obj; }