我正在尝试将OAuth 2身份验证实施到Box(Cloud Storage Service)的Java代码中。 OAuth 2实现代码取自OAuth 2 essentials。我如何从浏览器中获取url到我的java代码?
如你所知,oAuth有两个阶段。第一阶段要求客户端发送http GET或POST请求到this link,同时发送一些客户端凭证。于是我打开上述网址在浏览器里面,从我的Java代码中使用这段代码(Main.java):
if(Desktop.isDesktopSupported())
{
Desktop.getDesktop().browse(new URI(authorizationUrl.toString()));
}
在浏览器中,我可以看到的网页,客户端必须提供电子邮件和密码授予访问我的应用程序。一切顺利,在授予访问权限后,浏览器被重定向到由我提供的redirect_uri,这是我本地主机中的一个java servlet类(我不知道servlet是否真的需要这个过程,但我正在使用它)。
这个redirect_uri现在从我提供的那个扩展,因为它有服务器提供的代码和状态参数。 (注:现场的这部分是发生在浏览器中,而我的Main.java其调用浏览器仍在运行并等待exteded REDIRECT_URI我要养活它)那么,如何养活
将来自浏览器(或servlet类)的redirect_uri扩展到在oauth进程的第一段调用浏览器的Main.java类。
不错!我会试试看..谢谢! – golem
发生的事情是:1. Main.java调用OAuthHandler servlet(它使Http请求使用参数)和服务器响应的HTML表单,客户端必须输入电子邮件和密码并授予对应用程序的访问权限。所以这个html表单需要显示浏览器,所以我必须使用方法Desktop.getDesktop()。browse()对吗?或者还有其他方法吗? – golem