currentUri в AccessTokenRequest всегда null

Всем привет.

Реализую OAuth2 авторизацию с помощью AuthorizationCodeAccessTokenProvider, и собственно в месте, где я должен перед отправкой запроса на получение кода авторизации в параметры положить redirect_uri, я всегда получаю null.

@Override
public OAuth2AccessToken obtainAccessToken(OAuth2ProtectedResourceDetails details, AccessTokenRequest request) throws UserRedirectRequiredException, UserApprovalRequiredException, AccessDeniedException, OAuth2AccessDeniedException {
    AuthorizationCodeResourceDetails resource = (AuthorizationCodeResourceDetails) details;
    if (request.getAuthorizationCode() == null && request.getStateKey() == null) {
        // Пользователь еще не авторизовался
        throw getRedirectForAuthorization((AuthorizationResource) resource, request);
    }
    ...
}

UserRedirectRequiredException getRedirectForAuthorization(AuthorizationResource resource, AccessTokenRequest request) {
    Map<String, String> params = new HashMap<>();

    final String clientId = resource.getClientId();
    final String redirectUri = resource.getRedirectUri(request); // Здесь null
    ...

    return redirectException;
}

Вопрос - почему в объекте AccessTokenRequest текущий адрес запроса currentUri может быть равен нулю?

На всякий случай дефолтная реализация метода getRedirectUri(request):

public String getRedirectUri(AccessTokenRequest request) {
    String redirectUri = (String)request.getFirst("redirect_uri");
    if (redirectUri == null && request.getCurrentUri() != null && this.useCurrentUri) {
        redirectUri = request.getCurrentUri();
    }

    if (redirectUri == null && this.getPreEstablishedRedirectUri() != null) {
        redirectUri = this.getPreEstablishedRedirectUri();
    }

    return redirectUri;
}

Ответы (0 шт):