【问题标题】:Oauth callback problemOauth回调问题
【发布时间】:2010-04-03 01:36:13
【问题描述】:

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

url就像http://aaa.xyz.com/(encrypted查询字符串的一部分)并且在oauth_token被授权后,这个url就变成了

http://aaa.xyz.com/(encrypted 查询字符串的一部分)&oauth_token。所以用户在重定向后看到的登录页面而不是原始页面。我应该如何在代码中处理这个问题。

【问题讨论】:

    标签: java api calendar oauth


    【解决方案1】:

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

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

    【讨论】:

    • 我想当您使用 servlet 时这是一个不错的选择,不幸的是我没有使用 servlet。
    【解决方案2】:

    您始终可以使用 Out of Band OAuth,通过 oauth_callback='oob'

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

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

    【讨论】:

    • 你如何在需要设置分数的谷歌数据api中使用它?
    • 范围是不同的 oauth 参数 AFAIK
    猜你喜欢
    • 2014-01-26
    • 1970-01-01
    • 2011-04-10
    • 2016-10-17
    • 2017-05-25
    • 2011-09-26
    • 2011-07-16
    • 2011-10-01
    • 2011-02-25
    相关资源
    最近更新 更多