栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Django使用Google+ API登录?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Django使用Google+ API登录?

首先,你必须为Google+创建OAuth凭据。

  1. 转到Google Developer Console
  2. 创建一个新项目。
  3. 转到“ API和身份验证”->“授权屏幕”,并为你的产品命名。点击“保存”。
  4. 转到“ API和身份验证”->“凭据”。在“ OAuth”下,单击“创建新的客户端ID”。添加“ http:// localhost:8000 / soc / complete / google-oauth2 / ”应作为回调URL列出。这仅适用于测试,请确保在生产中放入你的实际域。
    现在,将其添加python-social-auth到你的Django应用中。

装python-social-auth
使用pip
设置适当的Django设置:

  • 添加
    'social.apps.django_app.default'到INSTALLED_APPS:
  • 使用你之前创建的客户端密钥和密钥添加
    SOCIAL_AUTH_GOOGLE_OAUTH2_KEY和SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET
    设置。客户端密钥是在Google开发者控制台的“凭据”屏幕中列出的“客户端ID”,以
    “ .apps.googleusercontent.com”
    结尾。仅参加点之前的部分。该机密列为“客户端机密”。
  • 确保你具有AUTHENTICATION_BACKENDS明确定义的设置,并且其中包含
    'social.backends.google.GoogleOAuth2'
    。一个例子是:
AUTHENTICATION_BACKENDS = (    'social.backends.google.GoogleOAuth2',    'django.contrib.auth.backends.ModelBackend')
  • 定义SOCIAL_AUTH_PIPELINE设置,如python-social-auth文档中所述。该页面列出了每种设置的作用。

如果你与从Google+获得的信息有关,建议你定义一个函数:

    def save_profile(backend, user, response, *args, **kwargs):        if backend.name == "google-oauth2":# do something

这里

user
django.contrib.auth.models.User
对象,
response
是字典。然后SOCIAL_AUTH_PIPELINE在后面使用完整的模块路径将该函数添加到
create_user

如果你不希望对该信息进行任何操作,则可以保留默认管道。

最后,你需要将python-social-auth网址添加到你网站的

urlpatterns

from django.conf.urls import include url("^soc/", include("social.apps.django_app.urls", namespace="social"))

那应该做到的!现在该进行测试了。首先,

./manage.py makemigrations
针对进行所需的迁移
python-social-auth
,然后
./manage.py migrate
按照此处的说明进行迁移。然后,你可以运行开发服务器,并转到http:// localhost:8000 / soc / login / google-oauth2 /?next = /。

希望我没有跳过任何步骤的说明,它会起作用。随时问更多问题并阅读文档。另外,这是一个你应该检出的有效示例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号