首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >社交-auth-app-django facebook后端状态与redirect_uri

社交-auth-app-django facebook后端状态与redirect_uri
EN

Stack Overflow用户
提问于 2018-05-16 05:30:45
回答 2查看 1.4K关注 0票数 3

我知道我的问题听起来是重复的,但我到处找都找不到解决办法。

我正在为我的django webapp应用程序实现社交登录。到目前为止,谷歌、twitter和雅虎的登录都如出一辙。但facebook总是给出以下错误:

URL阻止:此重定向失败是因为重定向URI在应用程序的客户端OAuth设置中没有白名单。确保客户端和web OAuth登录都已启动,并将所有应用程序域添加为有效的OAuth重定向URI。

经过一番挖掘,我学会了如何正确设置我的facebook登录:下面的Facebook应用程序设置

App Domains设置为domain.ext

Site URL设置为https://www.domain.ext/

Valid OAuth Redirect URIs设置为https://domain.ext/social/complete/facebook/

我还查看了重定向url (如下所示),发现它包含一个state变量state=kMQH3TdKSdF8oYGGx7Xri4KgFaEQ9OyU。以下是完整的网址

https://www.facebook.com/v2.9/dialog/oauth?client_id=977674249054153&redirect_uri=https%3A%2F%2Fwww.domain.ext%2Fsocial%2Fcomplete%2Ffacebook%2F&state=kMQH3TdKSdF8oYGGx7Xri4KgFaEQ9OyU&return_scopes=true&scope=email%2Cpublic_profile

我在django应用程序上的facebook登录url是{% url 'social:begin' 'facebook' %},我在AUTHENTICATION_BACKENDS中有这个'social_core.backends.facebook.FacebookOAuth2'

我搜索了一下,发现social-core github页面上已经有这样的问题已经解决了。它说,从v1.7.0,这一行REDIRECT_STATE = False已经添加到facebook后端。我钻研了源代码,发现情况就是这样。但是我的应用程序的url一直在发送状态变量,我不知道为什么会这样。请其他人遇到这种奇怪的行为,如果是的话,你是如何解决的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-16 07:05:28

我在这个问题上花了几个小时,但事实证明,我只需要把这个Valid OAuth Redirect URIs设置为https://www.domain.ext/social/complete/facebook/

注意www.

票数 1
EN

Stack Overflow用户

发布于 2018-05-16 05:58:08

你试过django吗?我觉得这是一个更好的解决办法。它为您提供第三方提供商集成,并为许多提供者和自定义提供程序提供内置支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50363059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档