Java Google API oauth2 REDIRECT URI选项

时间:2014-01-16 23:48:09

标签: java oauth-2.0 google-drive-api

我正在使用谷歌的Java API编写桌面应用程序。我可以使用oauth2和REDIRECT URI进行身份验证:urn:ietf:wg:oauth:2.0:oob这将为用户提供一个代码,用于将粘贴复制回我的应用程序。

我宁愿拥有比这更好的工作流程,并将REDIRECT URI替换为http://localhost:8080/myreceiver - 或类似我认为有效的东西。

我的问题是 - 在允许我自动接收此代码并继续执行oauth2身份验证的地址轻松启动基于Java的Web服务器的最佳方法是什么?谷歌api的一部分是否有任何帮助?或者我应该查看标准的基于Java的Web服务器,如http://tjws.sourceforge.net/或其他?

任何意见都会对我有所帮助!

2 个答案:

答案 0 :(得分:0)

我曾经使用Google OAuth 2.0开发了一个Android应用程序,我使用特殊的redirect_uri来安装App。当我发送带有特殊redirect_uri的请求时,它会在标题和正文中显示代码,就像官方文档所说的那样。但这没有意义,因为这是一个糟糕的用户体验。所以我在应用程序中编写代码来检测页面标题并自动获取代码,这很容易,希望它有用。

代码:

if(view.getTitle().contains("code=")) {

webview.setVisibility(View.INVISIBLE);

String title = view.getTitle();

    if (!handled) {
        new ProcessToken(title,oAuth2Helper).execute();
    }

} else

{
    webview.setVisibility(View.VISIBLE);
}

答案 1 :(得分:0)

最后我决定使用tjws启动一个小型Web服务器,然后我可以编写一个小servlet,它使用getParameter(“code”)方法作为Servlet的doGet方法的一部分来捕获回调代码。

非常简单 - 而且用户友好。