如何登录谷歌&x2B;使用Django的API?
如何将Google+API登录添加到我的Django网站?首先,您必须为Google+创建OAuth凭据如何登录谷歌&x2B;使用Django的API?,django,oauth,google-api,Django,Oauth,Google Api,如何将Google+API登录添加到我的Django网站?首先,您必须为Google+创建OAuth凭据 去医院 创建一个新项目 转到“API和身份验证”->“授权屏幕”,并为您的产品命名。单击“保存” 转到“API和身份验证”->“凭据”。在“OAuth”下,单击“创建新的客户端ID”。添加“”应作为回调URL列出。这只适用于测试,请确保在生产时放入实际域 现在,让我们将pythonsocialauth添加到您的Django应用程序中 使用pip安装pythonsocialauth 设置适当的
pythonsocialauth
添加到您的Django应用程序中
pip安装pythonsocialauth
- 将
添加到'social.apps.django\u app.default'
:已安装的\u apps
- 使用先前创建的客户端密钥和密码添加
和SOCIAL\u AUTH\u GOOGLE\u OAUTH2\u密钥
设置。客户端密钥是Google开发者控制台“凭据”屏幕中列出的“客户端ID”,以“.apps.googleusercontent.com”结尾。只取圆点之前的部分。该机密被列为“客户机密”SOCIAL\u AUTH\u GOOGLE\u OAUTH2\u SECRET
- 确保明确定义了
设置,并且该设置包含AUTHENTICATION\u BACKENDS
。例如:“social.BACKENDS.google.GoogleOAuth2”
AUTHENTICATION_BACKENDS = ( 'social.backends.google.GoogleOAuth2', 'django.contrib.auth.backends.ModelBackend')
- 定义
设置,如中所述。每个设置的作用都列在该页面中SOCIAL\u AUTH\u管道
def save_profile(backend, user, response, *args, **kwargs):
if backend.name == "google-oauth2":
# do something
其中,user
是一个django.contrib.auth.models.user
对象,response
是一个字典。然后在create\u user
之后,使用完整的模块路径将该函数添加到SOCIAL\u AUTH\u管道中
如果您不想对这些信息做任何事情,可以保留默认管道
pythonsocialauth
url添加到站点的urlpatterns
:
from django.conf.urls import include
url("^soc/", include("social.apps.django_app.urls", namespace="social"))
这就应该做到了!是测试的时候了。首先,/manage.py为所需的python social auth
迁移创建迁移,然后进行/manage.py迁移
,如前所述。然后,您可以运行开发服务器,并转到
希望我没有跳过解释任何步骤,它会起作用。请随时提出更多问题和建议。此外,这里还有一个您应该查看的应用程序。的答案是正确的,但是python social auth
现在已被弃用并迁移为social auth app django
。这就是我与指南不同之处
我安装了socialauth应用程序django
,而不是python社交auth
'social.apps.django\u app.default'
变为'social\u django'
'social.backends.google.GoogleOAuth2'
现在是'social\u core.backends.google.GoogleOAuth2'
url(^soc/),include(“social.apps.django\u app.url”,namespace=“social”)
变成url(^soc/”,include(“social\u django.url”,namespace=“social”)
我已经完成了所有步骤,它作为用户登录使用social auth,但我的用户没有被创建,它只是登录,虽然我看到在表“social_auth_usersocialauth”中创建了一个新记录,但在用户表中没有创建新用户。我正在扩展AbstractBaseUser并创建自定义用户域。如果有任何帮助,我将不胜感激。我希望我能多次投票支持这个答案。。。我已经阅读了3篇教程,只有在阅读了这篇文章之后,我才让它工作起来。还要确保将Google+API添加到Google开发者控制台上的已启用API列表中(在API下),否则您将得到一个403include
来自django.conf.url
。请注意,在这个答案发布后的某个时刻,pythonsocialauth
被更改为一个新的库结构;它现在是social auth core
,为特定的框架提供了专用的应用程序,因此在本例中social auth app django
。感谢您的分享,与以前的价值观一起,它到处崩溃,谢谢大家!相当干净的答案,它的工作与修改提到的乔治汉克斯非常!这真的帮了我很大的忙!如何在python中使用Google oauth注销?