gpt4 book ai didi

django - 如何仅在 google 中使用 python-social-auth?

转载 作者:行者123 更新时间:2023-12-03 21:36:28 30 4
gpt4 key购买 nike

我正在尝试将 google 身份验证添加到我的项目中

我安装了它:

pip install python-social-auth

并将其添加到 settings.py 中:
SOCIAL_AUTH_USER_MODEL = 'accounts.CustomUser'##

SOUTH_MIGRATION_MODULES = {
'default': 'social.apps.django_app.default.south_migrations'
}

AUTHENTICATION_BACKENDS = (
'myproject.middleware.AuthenticationCMSBackend',##
'social.backends.google.GoogleOpenId',
'social.backends.google.GoogleOAuth2',
'django.contrib.auth.backends.ModelBackend',
)

LOGIN_REDIRECT_URL = '/'

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '507847...m.apps.googleusercontent.com'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'SEt-6...0j3'"""

TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.request',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
)

至于SOCIAL_AUTH_GOOGLE_OAUTH2_KEY和secert,我去了 https://console.developers.google.com/apis/credentials并使用 localhost url 创建它们(现在用于测试)

我在模板中这样称呼它:
<a href="{% url 'social:begin' 'google-oauth2' %}"> login </a>

但我收到此错误:

Backend not found



我究竟做错了什么?

下一步,我想确保只有我验证的用户才能对拥有 google 帐户的任何人进行身份验证,该怎么做?

最佳答案

在你的setting.py

AUTHENTICATION_BACKENDS = (
# Google
'social_core.backends.google.GoogleOAuth2',
# Django
#'django.contrib.auth.backends.ModelBackend',
)
# Google Keys
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'KEY' # Client ID
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'SECRET_' # Client secret

SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/'
上下文处理器
'context_processors': [
...
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
],
网址.py
urlpatterns = [
...
url('social/', include('social.apps.django_app.urls', namespace='social')),
...
]
在您的模板中添加。
<p><a class="btn btn-lg btn-danger btn-block" href="{% url 'social:begin' 'google-oauth2' %}">Entrar con la cuenta de Google</a></p>

关于django - 如何仅在 google 中使用 python-social-auth?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367464/

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