Я собираюсь сделать систему входа в систему с OAuth 2.0 для моего приложения, все правильно, пока длинна до не Expired Токен!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, если не истек, но если истек, я делаю Refresh Request (Volley + Gson), чтобы сделать это свежим.
Но я не могу добраться до accessToken
из внутреннего класса :(
Как вернуть строку из этого метода?
Его не помогает, потому что я собираюсь использовать '.getAccessToken()' для добавления токена к концу моего запроса url как 'final String URL = Constant.BaseUrl + Constant.Token + getAccessToken()' – MAY3AM
вы можете сделать что-то вроде это public void usingGetAccessTokenMethod() { getAccessToken (новый ITokenListener() { @Override общественного недействительными onTokenObtained (String маркер доступа) { конечная строка URL = Constant.BaseUrl + Constant.Token + + Constant.Limit маркер доступа; \t \t \t // используйте здесь адрес } }); } но, как я уже сказал, это один из способов. –