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

the*_*ves 7 java google-calendar-api oauth-2.0 google-oauth

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

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

我的问题是,如何简化此过程,以便用户不必为了接收授权码而进行这种愚蠢的复制粘贴操作?(如果将项目编译到jar文件中,无论如何这将无法正常工作。)目前,我所知道的是我将需要提供callbackurl或其他内容,但我无法弄清楚。因此,我希望得到一个更具体的答案,而不是简单地告诉我这些概念。

提前致谢。

Fra*_*ois 1

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

就像这样:

  1. 您的应用程序打开一个套接字并侦听 HTTP 请求
  2. 现在打开浏览器并让用户输入他/她的凭据
  3. 用户单击提交并将凭据发送到 oauth 服务器
  4. 服务器检查凭据,如果正确,则将浏览器重定向到您的应用程序(到您在 1 中打开的套接字)。
  5. 您的应用程序从浏览器获取身份验证代码并将其与访问票证交换。

为了让服务器知道重定向到哪里,您可以在步骤 2 中使用 oauth 参数redirect_uri