Google One Tap登录不使用OAuth流。我的问题是如何将其集成到使用allauth进行身份验证的django应用程序中?
我找到了一个教程,通过该教程,您可以从一键登录https://developers.onelogin.com/quickstart/google-ontap-with-onelogin中获取电子邮件、姓名等基本详细信息
如何集成它来完成登录?
发布于 2021-07-23 10:36:21
您可以将其与此视图集成:
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密钥,如下所示:
SOCIALACCOUNT_PROVIDERS = {
'google': {
"APP": {
"client_id": env.str("GOOGLE_CLIENT_ID", ""),
"secret": env.str("GOOGLE_SECRET_KEY", ""),
},
},
}重要:上面的视图模型期望在POST方法中有一个有效载荷,一旦用户通过谷歌认证,你就会从oauth2响应中找到这些模型。
我不知道你的前端是什么,但是你可以找到相关的前台SDK,只需使用响应数据发送有效负载,这就足够了。事情比你想象的要容易得多
https://stackoverflow.com/questions/68493141
复制相似问题