public void DecodeAccessToken() { string token = "8biE2RkHfPidk2tMJut9TLS5yk1XgmBM53WS1LjdLz3oiQJsGJKY8NE"; Token.UserToken userToken = Token.UserToken.FromCipherToken(token); Debug.WriteLine(userToken.Expire_Time); Assert.IsTrue(userToken != null); }
public void CreateAccessTokenTest() { Token.UserToken ut = new Token.UserToken { AppId = 10, Expire_Time = DateTime.Now.AddDays(1), UserCode = "18576687613", UserId = 3441217, Verifiable = true }; string token = ut.ToCipherToken(); Debug.WriteLine("新Token:" + token); }
protected virtual bool LoginByToken(string rsaToken, string device_id, string appVersion, out string message) { string com_token; if (!xUtils.RsaDecryptPayPwd(rsaToken, out com_token)) { message = "无效的登录会话,请重新登录"; return(false); } if (!com_token.Contains("_")) { message = "无效的请求"; return(false); } string[] array = com_token.Split('_'); string token = array[1]; long requestTimestamp = Convert.ToInt64(array[0]); long timestamp = (long)(DateTime.Now - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1))).TotalSeconds; if (timestamp - requestTimestamp > 120)//请求有效期2分钟 { message = "会话超时,请重新登录"; return(false); } Token.UserToken userToken = Token.UserToken.FromCipherToken(token); if (userToken == null) { message = "无效的登录会话,请重新登录"; return(false); } if (userToken.Expire_Time < DateTime.Now) { message = "登录会话已失效,请重新登录"; return(false); } var fac = UserModuleFactory.GetUserModuleInstance(); IUser user = fac?.GetUserByCode(userToken.UserCode); if (user == null) { message = "账号未注册"; return(false); } Session[OAuthContext._USER_LOGIN_SESSION_NAME] = user; message = null; return(true); }