当redirectURI = null时,如何在OAuth2中填充state参数?

时间:2019-05-18 17:09:18

标签: java oauth-2.0 dialogflow

我尝试通过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。

但是如何直接获得代码而不将其重定向到登录名?

0 个答案:

没有答案