如何处理urn:ietf:wg:oauth:2.0:oob重定向在Google Calendar API授权中

时间:2013-10-31 12:27:51

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

我目前正在研究用java实现的已安装桌面应用程序。我打算将Google Calendar API集成到应用程序中。

在授权程序中,我来到这个阶段,我只能通过触发显示用户同意页面的浏览器来获取授权代码。然后,用户必须单击“接受”,并将被重定向到显示授权代码的网页。用户将此代码复制到Eclipse System.in,以便继续授权过程(以交换TokenResponse的授权代码)。

我的问题是,如何简化此过程,以便用户不必为收到的授权代码执行此类愚蠢的复制和粘贴操作? (无论如何,如果将项目编译成jar文件,这将无法工作......)目前我所知道的是,我需要提供一个回调或其他东西,我只是想不出来。因此,我希望得到一个更具体的答案,而不是简单地告诉我这些概念。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您必须使用服务帐户(附带私钥)才能跳过涉及用户互动的步骤。有关此here的详细指南。

答案 1 :(得分:1)

oauth2授权授权流程(我认为,这就是您正在做的事情)定义您的应用程序通过HTTP重定向获取流回。

就是这样:

  1. 您的应用程序打开一个套接字并在那里监听HTTP请求
  2. 现在打开浏览器并让用户输入他/她的凭据
  3. 用户单击“提交”并将凭据发送到“oauth服务器”
  4. 服务器检查凭据,如果正确,则将浏览器重定向到您的应用程序(到您在1中打开的套接字)。
  5. 您的应用程序从浏览器获取身份验证代码并与访问权证一起交换。
  6. 要让服务器知道重定向到哪里,请在步骤2中使用oauth参数redirect_uri

答案 2 :(得分:0)

This page似乎表明auth代码在浏览器窗口的标题中,并且桌面应用程序应从那里读取它。 (嘎)。