我从谷歌云 api 控制台创建了一个客户端 ID 和客户端密码,并在社交应用表中添加了一条记录django-allauth
我还补充说WEB ORIGIN
:
mysite.com
(产品)http://localhost:8000
(开发)
和REDIRECT URI
http:mysite.com/accounts/google/login/callback/
(产品)localhost:8000/accounts/google/login/callback/
(开发)
在谷歌 api 控制台中。
使用 Google 登录在开发中效果很好,并在成功登录时重定向到 localhost 回调 url。但是我redirect_uri_mismatch
在产品中遇到了错误。
这些是来自谷歌错误页面的错误详细信息:
请求详细信息
cookie_policy_enforce=false
scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
response_type=code
access_type=online
redirect_uri=http://127.0.0.1:8000/accounts/google/login/callback/
state=SOME_RANDOM_NUMBER
display=page
client_id=MY_CLIENT_ID
redirect_uri
仍然设置为而127.0.0.1
不是http:mysite.com/accounts/google/login/callback/
那么如何设置正确的redirect_uri
呢?
这是我settings.py
的django-allauth
INSTALLED_APPS = (
#the usual stuff
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google',
)
import django.conf.global_settings as DEFAULT_SETTINGS
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
"allauth.account.context_processors.account",
"allauth.socialaccount.context_processors.socialaccount",
)
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
)
ACCOUNT_EMAIL_REQUIRED = True
LOGIN_REDIRECT_URL = "/"
这里是urls.py
urlpatterns = patterns('',
url(r'^accounts/', include('allauth.urls')),
)
我没有进行任何其他django-allauth
设置。我看到了文档,但找不到在哪里进行更改。