gpt4 book ai didi

django - 在 django-social-auth 中,无法显示 Facebook 身份验证链接?

转载 作者:行者123 更新时间:2023-12-01 15:16:41 26 4
gpt4 key购买 nike

我已经安装了 django-social-auth。

除了我在身份验证选项列表中只显示随机身份验证链接外,它似乎可以正常工作。在 oAuth 列表中,我只能看到:

  • Google-Oauth
  • 领英
  • Github
  • Orkut

我正在尝试让 Facebook 身份验证工作。

以下是我与 django-social-auth 相关的设置:

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)



INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'south',
'appMain',
'social_auth',
)



AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'social_auth.backends.google.GoogleOAuthBackend',
'social_auth.backends.google.GoogleOAuth2Backend',
'social_auth.backends.google.GoogleBackend',
'social_auth.backends.yahoo.YahooBackend',
'social_auth.backends.contrib.linkedin.LinkedinBackend',
'social_auth.backends.contrib.flickr.FlickrBackend',
'social_auth.backends.OpenIDBackend',
'social_auth.backends.contrib.livejournal.LiveJournalBackend',
'django.contrib.auth.backends.ModelBackend',
)


TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.contrib.messages.context_processors.messages',
'social_auth.context_processors.social_auth_by_type_backends',
)

# SOCIAL_AUTH_ENABLED_BACKENDS = ('google', 'google-oauth', 'twitter', 'facebook',)

LOGIN_URL = '/login-form/'
LOGIN_REDIRECT_URL = '/logged-in/'
LOGIN_ERROR_URL = '/login-error/'

SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete'
SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete'

TWITTER_CONSUMER_KEY = ''
TWITTER_CONSUMER_SECRET = ''
FACEBOOK_APP_ID = '126197457491070'
FACEBOOK_APP_SECRET = '2ed91326e1a7c88db7358727856877dc'
LINKEDIN_CONSUMER_KEY = ''
LINKEDIN_CONSUMER_SECRET = ''
ORKUT_CONSUMER_KEY = ''
ORKUT_CONSUMER_SECRET = ''
GOOGLE_OAUTH2_CLIENT_ID = ''
GOOGLE_OAUTH2_CLIENT_SECRET = ''
SOCIAL_AUTH_CREATE_USERS = True
SOCIAL_AUTH_FORCE_RANDOM_USERNAME = False
SOCIAL_AUTH_DEFAULT_USERNAME = 'socialauth_user'
SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete'
LOGIN_ERROR_URL = '/login/error/'
#SOCIAL_AUTH_USER_MODEL = 'upfoMain.CustomUser'
SOCIAL_AUTH_ERROR_KEY = 'socialauth_error'
GITHUB_APP_ID = ''
GITHUB_API_SECRET = ''
FOURSQUARE_CONSUMER_KEY = ''
FOURSQUARE_CONSUMER_SECRET = ''

我已多次检查所有设置。我真的看不出有什么遗漏,所以我想知道问题出在哪里?

在前端模板中,代码是(直接来自django-social-auth的例子):

<div>
<h3>Login using <a href="http://oauth.net/" title="OAuth">OAuth</a> from:</h3>
<ul>
{% for name in social_auth.backends.oauth %}
<li><a rel="nofollow" href="{% url socialauth_begin name %}">{{ name|title }}</a></li>
{% endfor %}
</ul>
</div>

最佳答案

我发现了问题,我不太确定为什么会这样:

在 Facebook 设置中,app_secret 称为“App secret”。如此快速地浏览,我已经定义了“APP_SECRET”。我想我实际上是从另一个应用程序复制的。但是,在代码中,App secret 被定义为“API_SECRET”。所以只要改变它,它就可以工作。也许这对某人有用。

关于django - 在 django-social-auth 中,无法显示 Facebook 身份验证链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com