public IActionResult Create(string username, string password) { JObject ht = new JObject(); ht.Add("code", "200"); ht.Add("msg", "success"); if (username != password) { } var identity = new ClaimsIdentity(); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, username)); identity.AddClaim(new Claim(ClaimTypes.Name, username)); identity.AddClaim(new Claim(ClaimTypes.Role, "")); identity.AddClaim(new Claim(JwtRegisteredClaimNames.Sub, username)); identity.AddClaim(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())); identity.AddClaim(new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)); var accessToken = CreateAccessToken(identity.Claims.ToList()); var data = new AuthenticateResultModel() { AccessToken = accessToken, ExpireInSeconds = (int)_configuration.Value.Expiration.TotalSeconds }; ht.Add("data", JToken.FromObject(data)); return(Ok(ht)); }
public IActionResult Create([FromBody] TokenInput input) { JObject ht = new JObject(); ht.Add("code", "200"); ht.Add("msg", "success"); var us = db.LoginDb.GetSingle(it => it.userName == input.username); if (us == null) { ht["code"] = "201"; ht["msg"] = "用户名或者密码错误!"; return(Ok(ht)); } string str = SimpleStringCipher.Instance.Encrypt(input.password, null, Encoding.ASCII.GetBytes(us.passWordSalt)); if (!us.passWord.Equals(str)) { ht["code"] = "201"; ht["msg"] = "用户名或者密码错误!"; return(Ok(ht)); } var identity = new ClaimsIdentity(); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, us.userId.ToString(CultureInfo.InvariantCulture))); identity.AddClaim(new Claim(ClaimTypes.Name, us.userId.ToString(CultureInfo.InvariantCulture))); identity.AddClaim(new Claim(ClaimTypes.Role, us.roleCode.ToString(CultureInfo.InvariantCulture))); var claims = identity.Claims.ToList(); claims.AddRange(new[] { new Claim(JwtRegisteredClaimNames.Sub, us.userId.ToString(CultureInfo.InvariantCulture)), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64) }); var accessToken = CreateAccessToken(claims); var data = new AuthenticateResultModel() { AccessToken = accessToken, ExpireInSeconds = (int)_configuration.Value.Expiration.TotalSeconds }; ht.Add("data", JToken.FromObject(data)); return(Ok(ht)); }