Linkedin OAuth 2.0 重定向 URL 不能包含片段标识符 (#)
Posted
技术标签:
【中文标题】Linkedin OAuth 2.0 重定向 URL 不能包含片段标识符 (#)【英文标题】:Linkedin OAuth 2.0 redirect URLs cannot contain fragment identifiers (#) 【发布时间】:2016-03-28 23:23:12 【问题描述】:我有一个单页应用程序,其中 url 结构通常为 http://mysite/#myview
我正在尝试将此 URL 添加到 LinkdIn 应用设置中的授权重定向 URL 列表中,但我收到以下错误消息:
这是否意味着我无法从 LinkedIn API 重定向回任何包含 #
的网址?
我已经能够通过对 Twitter API 进行类似调用来做到这一点,但是它们不需要您像 LinkedIn 那样首先向它们注册 URL
【问题讨论】:
Oauth 2.0 隐式授权返回哈希中的令牌。这就是为什么它是“保留”的,我猜。但是,如果您的流程是服务器端的,则没有什么可以阻止您设置另一个回调 URL,例如http://mysite/callback
,然后将 HTTP 重定向到您想要的那个。
以前的答案不应该这样工作:***.com/questions/24912899/…
【参考方案1】:
正确 - LinkedIn 不允许在 OAuth 2.0 回调 URL 中使用 # 符号,但是您可以通过使用内部映射回您身边的 URL 参数来实现类似的效果:
https://www.example.com/auth/linkedin?ref=myview
然后您的服务器端处理程序可以处理 ref=myview
参数并将您重定向到 www.example.com/#myview
【讨论】:
以上是关于Linkedin OAuth 2.0 重定向 URL 不能包含片段标识符 (#)的主要内容,如果未能解决你的问题,请参考以下文章
Google API 和 OAuth 2.0 的正确重定向 URI
iOS 应用程序上的无效重定向 URI Linkedin API
我们为 Cordova iOS/Android 移动应用程序使用啥 OAuth 2.0 重定向 URI?
是否可以在没有重定向服务器的情况下使用 OAuth 2.0?