0

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

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

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

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

4

1 回答 1

1

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

  • 存储一个带有一些用户 ID 的 cookie,并在重定向后将其读出
  • 使用授权请求的state参数来传输一些用户id。提供商必须在他的重定向中将其返回给您。
于 2012-08-13T09:45:41.367 回答