【发布时间】:2016-09-10 02:20:51
【问题描述】:
我将为我的应用制作一个带有 OAuth2.0 的登录系统,在到达 Expired Token 之前一切正常!
对于本节,我编写了这个方法:
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;
}
}
});
}
}
如您所见,如果未过期,我会在我的应用共享偏好中返回访问令牌存储,但如果已过期,我会发出刷新请求 (Volley + Gson),以使其保持新鲜。
但我无法从内部类联系accessToken :(
如何从这个方法返回字符串?
【问题讨论】:
标签: android oauth-2.0 inner-classes final local-variables