1. 程式人生 > >C#.NET 大型企業資訊化系統

C#.NET 大型企業資訊化系統

 1         /// <summary>
 2         /// 獲取登入操作的驗證碼
 3         /// code作為換取access_token的票據,每次使用者授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。 
 4         /// </summary>
 5         /// <param name="userInfo">使用者資訊</param>
 6         /// <returns>操作碼</returns>
 7         public static BaseResult GetAuthorizationCode(BaseUserInfo userInfo)
8 { 9 BaseResult result = new BaseResult(); 10 11 if (ServiceUtil.VerifySignature(userInfo)) 12 { 13 // 產生一個授權碼 14 string authorizationCode = Guid.NewGuid().ToString("N"); 15 // 設定快取伺服器,消費一次,5分鐘過期。
16 using (var redisClient = PooledRedisHelper.GetTokenClient()) 17 { 18 // 2016-03-03 吉日嘎拉 讓快取早點兒失效 19 DateTime expiresAt = DateTime.Now.AddMinutes(5); 20 string key = "code:" + authorizationCode; 21 redisClient.Set(key, userInfo.OpenId, expiresAt);
22 } 23 result.ResultValue = authorizationCode; 24 result.Status = true; 25 result.StatusCode = Status.OK.ToString(); 26 result.StatusMessage = Status.OK.ToDescription(); 27 result.CreateSignature(userInfo); 28 } 29 30 return result; 31 }