【问题标题】:Using 3rd party oauth2 service in iPhone app with Java REST backend在带有 Java REST 后端的 iPhone 应用程序中使用 3rd 方 oauth2 服务
【发布时间】:2012-08-13 17:45:41
【问题描述】:

我正在开发一个服务于 iPhone 应用程序的 Java REST 服务器。现在我们必须与 oauth2 协议公开的第三方服务集成。这对我来说是新的,所以我一直在阅读和编写一些“概念证明”代码,但我遇到了一个大问题,或者我根本不理解某些东西......

我制作了一个简单的网页,其中包含用户在网页视图中看到的“使用 XXX 登录”按钮。当他单击它时,第三方服务的登录页面将打开,他可以批准我的应用程序,此时他们会将用户重定向到我使用授权代码作为参数指定的 URL。此 URL 指向我服务器上的 REST 服务。

问题是这个 URL 必须与我在应用我的应用程序为其服务时设置的 URL 完全相同。由于我正在运行 REST 服务器,因此当重定向到我的服务器时(没有会话),我无法知道我们在谈论哪个用户。我想用一些查询或路径参数来做这个识别,但他们不允许这样做。

这对您是否有意义,或者我是否以错误的方式实现了这一点?我现在能想象的唯一可能的解决方案是借助 cookie,但我不太喜欢那个......

【问题讨论】:

    标签: java rest oauth-2.0


    【解决方案1】:

    是的,这确实有道理。您有几种不同的选择,请尝试其中一种:

    • 存储一个带有一些用户ID的cookie并在重定向后读出
    • 使用授权请求的state parameter 传输一些用户ID。提供商必须在重定向中将其返回给您。

    【讨论】:

    • 是的 :) 状态参数正是我所需要的。我不知道,但想实现相同的东西,但由于我的意思是 API 限制而无法实现......
    猜你喜欢
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2017-06-04
    • 2021-01-04
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    相关资源
    最近更新 更多