0
我要做一个登录系统OAuth2.0的我的应用程序,一切是正确的,直到达到过期令牌!OAuth的自动刷新令牌,如果令牌到期
对于这一部分,我写了这个方法:
public static String getAccessToken(){
String accessToken;
if(!UserSession.getInstance().isExpired()){
return UserSession.getInstance().getUserAuthAccessToken();
} else {
PostRequests.getFreshToken(new ResultListener<String>() {
@Override
public void getResult(String result, boolean error) {
if(error){
} else {
Authorization authorization = gson.fromJson(result, Authorization.class);
UserSession.getInstance().setUserAuthorizationInfo(authorization.AccessToken, authorization.TokenType, authorization.Expiration, authorization.RefreshToken, authorization.Scope);
accessToken = authorization.AccessToken;
}
}
});
}
}
正如你所看到的,我在我的应用程序共享prefrences返回访问令牌存储装置,如果没有过期,但如果过期后,我做刷新请求(排球+ Gson),让这个新鲜。
但我无法从内部类实现accessToken
:(
如何我可以从这个方法返回的字符串?
其没有帮助,因为我将使用'.getAccessToken()'附加令牌来结束我喜欢'最后字符串的URL请求URL = Constant.BaseUrl + Constant.Token + getAccessToken()' – MAY3AM
,你可以这样做这个 public void使用GetAccessTokenMethod(){ getAccessToken(new ITokenListener(){ @Override public void onTokenObtained(String accessToken){ final String URL = Constant.BaseUrl + Constant.Token + accessToken + Constant.Limit; \t \t \t //使用这个网址 } }); } 但正如我所说,这是方式之一。 –