【问题标题】:Sending custom data via OAuth (specifically LinkedIn API)通过 OAuth(特别是 LinkedIn API)发送自定义数据
【发布时间】:2016-03-24 15:30:14
【问题描述】:

我正在使用 LinkedIn API 对用户进行身份验证。身份验证后,LinkedIn 将数据发送回我的应用程序/auth/linkedin/callback(与 OAuth 标准一样)。

我还提供其他身份验证方法(例如 Google+、Twitter 等)。如果用户使用其中之一登录,我希望他们也能够(在他们现有的身份验证之上)与 LinkedIn 连接以获取更多数据。

在这些情况下,我希望回调 URL 有所不同,因此我不必执行一些非常自定义的 if...then 逻辑。

  1. 有没有办法在 OAuth 请求中指定要回调的位置?

  2. 如果 #1 不可能,我可以在回调期间返回的初始请求中发送一些自定义任意数据或标志吗?这样,在解析响应时,我将检查这些标志以了解用户的适当状态并根据需要重定向它们。

谢谢!

【问题讨论】:

  • 根据 OAuth 2.0 规范,它应该可以工作。你试过了吗?您需要使用每个授权服务器的“关联”重定向 URI 注册您的 OAuth 客户端。如果在注册过程中您指定了完整的重定向 URI,那么它在授权请求中是可选的。

标签: ruby-on-rails oauth oauth-2.0 linkedin


【解决方案1】:

state 参数保证在所有交互中保留。您可以在其中存储(编码?)信息,当最终回调被调用时,您将取回您发送的原始值。

一个常见的用例是为用户捕获“最终 URL”(例如需要身份验证的应用的深层链接)。

您应该检查您收到的内容是否与您发送的内容完全相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多