public ActionResult RefreshToken() { var jsonString = String.Empty; Request.InputStream.Position = 0; using (var inputStream = new StreamReader(Request.InputStream)) { jsonString = inputStream.ReadToEnd(); } JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); RefreshModel serJsonDetails = javaScriptSerializer.Deserialize(jsonString, typeof(RefreshModel)) as RefreshModel; RefreshModel refreshtoken = new APIDAL().LookupRefreshToken(new Guid(serJsonDetails.refresh_token)).FirstOrDefault(); IdentityUser user = UserManager.FindByNameAsync(refreshtoken.email).GetAwaiter().GetResult(); //awaite.getresult to force synchronous call. if (user != null) { JWTPayload payload = new JWTPayload(user.Email, user.FirstName, user.LastName, user.Telephone); payload.iat = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; payload.exp = payload.iat + (60 * 60); //1 hour byte[] secretKey = Encoding.ASCII.GetBytes("ErvliegtEenMeeuwLangsHetRaamokja"); RefreshResponse response = new RefreshResponse(); response.access_token = Jose.JWT.Encode(payload, secretKey, JwsAlgorithm.HS256); response.token_type = "Bearer"; return(Json(response)); } return(new APIAuth(Request, Response).Forbidden()); }
// Start is called before the first frame update void Start() { string[] args = Environment.GetCommandLineArgs(); string token = args[1]; //string token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJKV1RQYXlsb2FkIjoie1wiU2VydmVyc0luZm9cIjp7XCJTZXJ2ZXJzXCI6W119LFwiVXNlcklEXCI6XCJKZW5zXCJ9IiwibmJmIjoxNTcwMTE5MjkwLCJleHAiOjE1NzA1NTEyOTAsImlhdCI6MTU3MDExOTI5MH0.L31Fkm8kaOpVoglhgEv_GvCAD6b1ep0h56OstUnF0d4"; JwtSecurityToken tokenSent = new JwtSecurityToken(token); JWTPayload payload = JWTManager.GetModelFromToken <JWTPayload>(token); clientName = payload.UserID; chatSystem = gameObject.GetComponent <ChatSystem>(); int port = 13001; //string IpAdress = "10.131.67.203"; client = new TcpClient(Globals.MIDDLEWARE_IP, port); //client = new TcpClient("192.168.10.135", port); userName = ((IPEndPoint)client.Client.LocalEndPoint).Address.ToString(); //client.NoDelay = true; Debug.Log("Connected?"); StartCoroutine(ListenToServer()); }
public AjaxResult SubmitLogin(string userName, string password) { if (userName.IsNullOrEmpty() || password.IsNullOrEmpty()) { return(Error("账号或密码不能为空!")); } password = password.ToMD5String(); var theUser = GetIQueryable().Where(x => x.UserName == userName && x.Password == password).FirstOrDefault(); if (theUser != null) { //生成token,有效期一天 JWTPayload jWTPayload = new JWTPayload { UserId = theUser.Id, Expire = DateTime.Now.AddDays(1) }; string token = JWTHelper.GetToken(jWTPayload.ToJson(), JWTHelper.JWTSecret); return(Success(token)); } else { return(Error("账号或密码不正确!")); } }
public JsonWebToken(string clientId, string audience) { DateTime validFrom = DateTime.UtcNow; DateTime validTo = validFrom + TimeSpan.FromSeconds(JsonWebTokenConstants.JwtToAadLifetimeInSeconds); this.Payload = new JWTPayload { Audience = audience, Issuer = clientId, ValidFrom = ConvertToTimeT(validFrom), ValidTo = ConvertToTimeT(validTo), Subject = clientId, JwtIdentifier = Guid.NewGuid().ToString() }; }
/// <summary> /// 获取Token信息,解密获得其他信息 /// </summary> /// <param name="value"></param> /// <returns>负载信息</returns> public static JWTPayload GetPayload(string value) { try { //先把加密的文字解密 byte[] basPayload = Convert.FromBase64String(value); string decPayload = System.Text.Encoding.UTF8.GetString(basPayload); //将解密后的数据序列化成对象 JWTPayload payload = JsonConvert.DeserializeObject <JWTPayload>(decPayload); return(payload); } catch (Exception) { return(null); } }
public TokenResult Login(string username, string password) { // 为了简化不做用户名和密码验证 var expire = DateTime.UtcNow.AddSeconds(20); // DateTime.UtcNow.AddDays(7); var res = new TokenResult() { expires = expire }; var payloadObj = new JWTPayload() { name = username, role = "manage", exp = expire }; res.token = new JWT().Encode <JWTPayload>(payloadObj, PassportConfig.SecretKey); return(res); }