我正在使用谷歌的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/或其他?
任何意见都会对我有所帮助!
答案 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方法的一部分来捕获回调代码。
非常简单 - 而且用户友好。