public IActionResult Authenticate([FromBody] CredentialsViewModel creds) { HttpResponseMessage responseMsg = new HttpResponseMessage(); HttpContext context = HTTPContextHelper.HttpContext; bool isUsernamePasswordValid = false; String username = creds.UserName; String password = creds.Password; if (username != null && !String.IsNullOrWhiteSpace(username)) { isUsernamePasswordValid = password == "1" ? true : false; } // if credentials are valid if (isUsernamePasswordValid) { string token = JWTHelper.CreateToken(username); //return the auth OkObjectResult auth = new OkObjectResult(new { auth_token = token }); return(auth); } else { // if credentials are not valid send unauthorized status code in response return(Unauthorized()); } }
public string Login([FromQuery] string login, [FromBody] string password) { //check in DB like db.Users.FirstOrDefault(p=>p.Login == login && p.Password==password); #region hardcode auth if (login.ToLower() == "test" && password == "123") { UserAccess ua = new UserAccess() { UserId = 1, Grants = new List <string>() { "Reader" } }; return(JWTHelper.CreateToken(ua)); } else if (login.ToLower() == "test2" && password == "123") { UserAccess ua = new UserAccess() { UserId = 1, Grants = new List <string>() { "Writer", "Reader" } }; return(JWTHelper.CreateToken(ua)); } #endregion throw new NotStoredException("Incorrect login or password!"); }
public IActionResult Login([FromBody] User user) { // Checking mandatory fields if (user == null || string.IsNullOrEmpty(user.Username) || string.IsNullOrEmpty(user.Password)) { return(Json(new SimpleResponser { Success = false, Message = "Username and password are mandatory." })); } // Checking the user user.Password = CryptoHelper.GenerateSHA512String(user.Password); User fullUser = userRepository.GetUserByCredentials(user.Username, user.Password); if (fullUser == null) { return(Json(new SimpleResponser { Success = false, Message = "The crediantials are incorrect." })); } // Generating the token string token = JWTHelper.CreateToken(fullUser.IdUser, authOptions.Value.Secret); return(Json(new ComplexResponser <string> { Success = true, Message = "User loged correctly.", Result = token })); }
public async Task <IActionResult> LoginAsync([FromBody] LoginModel model) { try { if (ModelState.IsValid) { var loginResult = await _userService.LoginAsync(model); if (!loginResult.IsSuccess) { _logger.LogError(loginResult.Errors.First()); return(BadRequest(loginResult)); } var jwtHelper = new JWTHelper(_configuration); var tokenResult = jwtHelper.CreateToken(loginResult.Email, loginResult.UserId); if (!tokenResult.IsSuccess) { _logger.LogError(tokenResult.Errors.First()); return(BadRequest(tokenResult)); } return(Ok(tokenResult)); } return(BadRequest("Some properties are not valid")); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(500)); } }
public IActionResult Login([FromBody] User user) { // Checking it has mandatory fields if (string.IsNullOrEmpty(user.Email) || string.IsNullOrEmpty(user.Password)) { return(Json(new SimpleResponser { Success = false, Message = "Email and Password are necessary." })); } // Checking the user exists in the database user.Password = CryptoHelper.GenerateSHA512String(user.Password); if (!userRepository.UserCredentialsAreCorrect(user.Email, user.Password)) { return(Json(new SimpleResponser { Success = false, Message = "Credentials are not correct." })); } // Create the token based in the complete user info string JWT = JWTHelper.CreateToken(user, authOptions.Value.Secret); // Return the token return(Json(new ComplexResponser <string> { Success = true, Message = "User loged.", Content = JWT })); }
protected virtual object CreateToken(string id) { if (!DoLogin(id)) { return(""); } return(jwt.CreateToken(id, claim_save_parameters)); }
/// <summary> /// 登录 /// </summary> /// <param name="req">条件</param> /// <param name="clientIP">客户端IP</param> /// <returns></returns> public async Task <ResultInfo <LoginInfo> > LoginAsync(LoginReq req, string clientIP) { //验空 if (req == null || string.IsNullOrEmpty(req.LoginName) || string.IsNullOrEmpty(req.Password)) { return(new ResultInfo <LoginInfo>(false, this.Res.Acc.LoginParamEmpty, null)); } //密码DES解密 var pwd = EncryptHelper.DecryptAES(req.Password); //获取用户信息 var user = await AccountDAL.Inst.GetUserAsync(req.LoginName, EncryptHelper.Md5(pwd)); if (user == null) { return(new ResultInfo <LoginInfo>(false, this.Res.Acc.LoginParamIncorrect, null)); } //获取家庭信息 var family = await BasicDAL.Inst.GetFamilyAsync(user.FamilyID); if (family == null) { return(new ResultInfo <LoginInfo>(false, this.Res.Acc.UserNoFamily, null)); } //token里存放的信息 var tokenInfo = new TokenInfo(); tokenInfo.UserID = user.ID; tokenInfo.FamilyID = family.ID; //返回的登录信息 var loginInfo = new LoginInfo(); loginInfo.NickName = user.NickName; loginInfo.FamilyName = family.Name; loginInfo.Token = JWTHelper.CreateToken(tokenInfo, clientIP); //登录日志 var logLogin = new LoginLog(); logLogin.UserID = user.ID; logLogin.Token = loginInfo.Token; logLogin.IP = clientIP; logLogin.LoginTime = DateTime.Now; await LoginLogDAL.Inst.AddLogAsync(logLogin); return(new ResultInfo <LoginInfo>(true, this.Res.Acc.LoginOK, loginInfo)); }
private static void TestJWT() { var user = new LoginInfo(); user.NickName = "NickName"; user.FamilyName = "FamilyName"; var token = JWTHelper.CreateToken(user, "127.0.0.1"); Console.WriteLine(token); Thread.Sleep(9000); var ret = JWTHelper.CheckToken <LoginInfo>(token, "127.0.0.1"); Console.WriteLine(ret.Msg); }
public object GetToken(string name, string role) { return(new TextResult(JWTHelper.CreateToken(name, role))); }
public IActionResult GetToken() { JWTHelper jWT = new JWTHelper(); return(Ok(jWT.CreateToken(null, 20))); }