首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过django-allauth使用Google One Tap登录?

如何通过django-allauth使用Google One Tap登录?
EN

Stack Overflow用户
提问于 2021-07-23 09:50:01
回答 1查看 236关注 0票数 0

Google One Tap登录不使用OAuth流。我的问题是如何将其集成到使用allauth进行身份验证的django应用程序中?

我找到了一个教程,通过该教程,您可以从一键登录https://developers.onelogin.com/quickstart/google-ontap-with-onelogin中获取电子邮件、姓名等基本详细信息

如何集成它来完成登录?

EN

回答 1

Stack Overflow用户

发布于 2021-07-23 10:36:21

您可以将其与此视图集成:

代码语言:javascript
复制
from allauth.socialaccount.providers.google.views import GoogleOAuth2Adapter
from rest_auth.registration.views import SocialLoginView

from rest_auth.registration.serializers import SocialLoginSerializer


class GoogleLogin(SocialLoginView):
    adapter_class = GoogleOAuth2Adapter
    serializer_class = SocialLoginSerializer

    def get_serializer(self, *args, **kwargs):
        serializer_class = self.get_serializer_class()
        kwargs['context'] = self.get_serializer_context()
        return serializer_class(*args, **kwargs)

然后在settings.py文件中添加google auth密钥,如下所示:

代码语言:javascript
复制
SOCIALACCOUNT_PROVIDERS = {
    'google': {
        "APP": {
            "client_id": env.str("GOOGLE_CLIENT_ID", ""),
            "secret": env.str("GOOGLE_SECRET_KEY", ""),
        },
    },
}

重要:上面的视图模型期望在POST方法中有一个有效载荷,一旦用户通过谷歌认证,你就会从oauth2响应中找到这些模型。

我不知道你的前端是什么,但是你可以找到相关的前台SDK,只需使用响应数据发送有效负载,这就足够了。事情比你想象的要容易得多

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68493141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档