python - 在设置 python 社交身份验证以登录 facebook 时遇到问题,facebook 给出测试用户未注册的错误
问题描述
我在远程服务器上运行我的 django 应用程序。当我尝试使用 python-social-auth 登录 facebook 时,出现以下错误
应用未设置:此应用仍处于开发模式,您无权访问它。切换到注册的测试用户或向应用管理员请求权限。
我正在使用来自simpleisbetterthancomplex.com的教程
我已将演示登录的应用程序命名为“test_social”,并带有前缀“tsoc”,如 /tsoc/login/facebook 等。
我已经设法让它在我的本地主机上运行,我使用letsencrypt.org获得了ssl认证
只是让它远程工作非常困难,我敢肯定我在这里缺少一些东西。我什至无法使用我创建的测试用户登录。
如果我已经以普通用户身份登录,则会收到以下错误:
应用未设置:此应用仍处于开发模式,您无权访问它。切换到注册的测试用户或向应用管理员请求权限。
已登录时尝试登录的屏幕截图
如果我以应用管理员身份登录或以被接受的应用开发者身份登录,就会发生这种情况。
如果我尚未登录 facebook,但我尝试使用登录,则会收到以下错误:
访问应用程序时出错 - 很抱歉,您尝试使用的应用程序不存在或已被禁用
尚未登录时尝试登录的屏幕截图
这是我在 Facebook 应用程序中已有的一些设置
==================================================== ========
基本设置
(注:我改了域名,但格式是一样的)
设置->基本(顶部)
设置->基本(底部)
==================================================== ========
脸书登录设置
产品->Facebook登录->设置
==================================================== ========
** 测试用户设置 **
==================================================== ========
django 设置
TEMPLATES[0]['OPTIONS']['context_processors'].append(
'social_django.context_processors.backends')
TEMPLATES[0]['OPTIONS']['context_processors'].append(
'social_django.context_processors.login_redirect')
INSTALLED_APPS.append('social_django')
MIDDLEWARE.append('social_django.middleware.SocialAuthExceptionMiddleware')
(tsoc 是我用来登录的 django 应用程序 - 正如我上面所说,它基于 simpleisbetterthancomplex.com 的教程
我已将演示登录的应用程序命名为“test_social”,前缀为“tsoc”,如 /tsoc/login/facebook 等)
SOCIAL_AUTH_LOGIN_ERROR_URL = '/tsoc/settings/'
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/tsoc/settings/'
SOCIAL_AUTH_RAISE_EXCEPTIONS = False
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
SOCIAL_AUTH_URL_NAMESPACE = 'social'
AUTHENTICATION_BACKENDS = (
'social_core.backends.github.GithubOAuth2',
'social_core.backends.twitter.TwitterOAuth',
'social_core.backends.facebook.FacebookOAuth2',
'django.contrib.auth.backends.ModelBackend',)
SOCIAL_AUTH_FACEBOOK_KEY = "XXXX" # they exist, just hidden
SOCIAL_AUTH_FACEBOOK_SECRET = "XXXX"
解决方案
您在 Facebook 中定义的重定向 URL 似乎/oauth/
在您的应用定义为/tsoc/
. 除此之外,该应用程序被明确定义为“开发中”——您是否尝试在作为您的测试用户之一登录 facebook 时访问它?
推荐阅读
- python - numpy,用数组替换列
- postgresql - 如何避免postgresql备份内容回显到屏幕
- python - 尝试使用 RSA 加密视频帧;解密后得到垃圾而不是原始数据
- java - 在 android 6.0.1 中,为什么在通过相机拍照后尝试从 Uri 获取位图时为空?
- swift - vDSP_zrvmul 不返回任何结果(或全为零)
- javascript - 如何在里面使用js var或者
标签?
- python - pySpark forEachPartition - 代码在哪里执行
- excel - 创建 Shell32.dll 对象时出现 VBA 运行时错误 429
- c++ - MFC 对话框控件的“接受文件”选项如何工作?
- python - 将键值参数存储到函数的变量