Java Oauth回调问题

Java Oauth回调问题,java,api,calendar,oauth,Java,Api,Calendar,Oauth,我正在使用OAuth和google数据api。我们只有授权用户的门户。因此,当用户登录并访问日历页面时,他们会被询问是否要将日历与谷歌日历同步。如果是,它们将被重定向以进行身份验证。一旦用户授予访问权限,google就会将OAuth_令牌附加到回调URL。回调URL是门户中日历页面的URL。此url的查询字符串选项已加密。但当重定向发生时,它会返回url的登录页面 url类似于查询字符串的一部分)并且在oauth\u令牌被授权后,此url变为 查询字符串的一部分)和oauth_标记。因此,用户在

我正在使用OAuth和google数据api。我们只有授权用户的门户。因此,当用户登录并访问日历页面时,他们会被询问是否要将日历与谷歌日历同步。如果是,它们将被重定向以进行身份验证。一旦用户授予访问权限,google就会将OAuth_令牌附加到回调URL。回调URL是门户中日历页面的URL。此url的查询字符串选项已加密。但当重定向发生时,它会返回url的登录页面

url类似于查询字符串的一部分)并且在oauth\u令牌被授权后,此url变为


查询字符串的一部分)和oauth_标记。因此,用户在重定向后看到的是登录页面,而不是原始页面。我应该如何在代码中处理这个问题

当用户登录到您的站点时,请确保用户会话“状态”存储在会话中,这样当从Google OAuth重定向返回页面时,您就可以检查会话中是否找到用户“状态”。如果是,返回到用户访问的最后一页,否则转到登录

这就是我在为银行网站实现SSO时所做的。

您可以始终使用带外OAuth,传递OAuth\u callback='oob'

这将不会重定向到您的页面,但会显示验证器,以便用户可以将其复制/粘贴到您的应用程序中


这对您的用户来说更麻烦,但是如果访问令牌过期足够长的时间,它就不会那么糟糕了。

我想当您使用servlet时,这是一个很好的选择,不幸的是,我没有使用servlet。您如何在需要设置分数的google data api中使用它?范围是另一个oauth参数AFAIK