/// <summary> /// 构造 /// </summary> public RenrenAppInfo() { if (!settings.TryGetValue<TokenInfo>(tokenInfoKey, out tokenInfo)) { tokenInfo = new TokenInfo(); } if (!settings.TryGetValue<UserDetails>(detailInfoKey, out detailInfo)) { detailInfo = new UserDetails(); } }
/// <summary> /// 设置token信息 /// </summary> /// <param name="info">信息</param> public void SetTokenInfo(TokenInfo info) { if (info == null) return; tokenInfo = info; if (!settings.Contains(tokenInfoKey)) { settings.Add(tokenInfoKey, tokenInfo); } else { settings[tokenInfoKey] = tokenInfo; } }
/// <summary> /// password flow授权解析token信息 /// </summary> /// <param name="result">数据</param> private void DecoderTokenInfo(string result) { AccessToken token = new AccessToken(); try { token = (AccessToken)JsonUtility.DeserializeObj( new MemoryStream(Encoding.UTF8.GetBytes(result)), typeof(AccessToken)); } catch { NotifyError("encoding error"); return; } tokenInfo = new TokenInfo(); tokenInfo.access_token = token.access_token; tokenInfo.expires_in = DateTime.Now.AddSeconds(Int32.Parse(token.expires_in)); tokenInfo.refresh_token = token.refresh_token; tokenInfo.scope = token.scope; currentState = TLoginState.KGetUserInfo; RenrenSDK.RenrenInfo.SetTokenInfo(tokenInfo); GetCurrentUserInfo(); }
/// <summary> /// 初始化 /// </summary> public LoginBS() { loginRequest = new LoginRequest(); tokenInfo = new TokenInfo(); }
/// <summary> /// 客户端授权保存token信息 /// </summary> /// <param name="authorizationCode"></param> public void SaveAccessToken(string accessToken, string expiresIn) { tokenInfo = new TokenInfo(); tokenInfo.access_token = accessToken; tokenInfo.expires_in = DateTime.Now.AddSeconds(Int32.Parse(expiresIn)); currentState = TLoginState.KGetUserInfo; RenrenSDK.RenrenInfo.SetTokenInfo(tokenInfo); GetCurrentUserInfo(); }