首页 > 解决方案 > 在设置 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"

标签: pythondjangofacebookpython-social-auth

解决方案


您在 Facebook 中定义的重定向 URL 似乎/oauth/在您的应用定义为/tsoc/. 除此之外,该应用程序被明确定义为“开发中”——您是否尝试在作为您的测试用户之一登录 facebook 时访问它?


推荐阅读