Как заполнить параметр состояния в OAuth2, когда redirectURI = null? - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь подключиться через REST API к моему проекту DialogFlow. Это настольное Java-приложение, поэтому redirectURI имеет значение null. Тем не менее, Google Dialogflow перенаправляет на страницу входа, поэтому я не могу автоматически извлечь нужный код. Вот код на данный момент:

    ClientIdentifier clientIdentitifier = new ClientIdentifier(CLIENT_ID, CLIENT_SECRET);
    OAuth2CodeGrantFlow ouauth2CodeGrantFlow = OAuth2ClientSupport.googleFlowBuilder(
            clientIdentitifier, null, SCOPE)
            .prompt(OAuth2FlowGoogleBuilder.Prompt.CONSENT)
            .property(OAuth2CodeGrantFlow.Phase.AUTHORIZATION, OAuth2Parameters.STATE, "test")
            .build();
    String authorizationURL = ouauth2CodeGrantFlow.start();


    Client client = ClientBuilder.newClient();
    Response response = ClientBuilder.newClient()
            .target(authorizationURL)
            .request()
            .get();


    String code = response.readEntity(String.class);
    TokenResult result = ouauth2CodeGrantFlow.finish(code, "test");
Код

содержит всю страницу входа в систему, поэтому вызов .finish (.,.) Возвращает исключение ProcessingException: Ошибка при запросе токена доступа. Статус ответа 400.

Но как я могу получить код напрямую, без перенаправления на логин?

...