Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api Django使用rest框架进行社交登录/注册_Api_Django Rest Framework_Google Signin_Django Login_Social Authentication - Fatal编程技术网

Api Django使用rest框架进行社交登录/注册

Api Django使用rest框架进行社交登录/注册,api,django-rest-framework,google-signin,django-login,social-authentication,Api,Django Rest Framework,Google Signin,Django Login,Social Authentication,我使用DRF作为rest框架,希望使用社交登录进行用户注册和登录。目前,我正在使用angular向谷歌注册,这是成功的,并得到以下回复: "id":"105372307735.........", "name":"XYZ", "email":"xyz@gmail.com", "photoUrl":"https://lh4.googleusercontent.com/-C..............", "authToken":"ya29.Glx2.....................", "

我使用DRF作为rest框架,希望使用社交登录进行用户注册和登录。目前,我正在使用angular向谷歌注册,这是成功的,并得到以下回复:

"id":"105372307735.........",
"name":"XYZ",
"email":"xyz@gmail.com",
"photoUrl":"https://lh4.googleusercontent.com/-C..............",
"authToken":"ya29.Glx2.....................",
"provider":"GOOGLE"
如何使用相同的响应在django rest框架中注册用户和登录


谢谢

我知道为时已晚,但这可能会帮助那些在社交登录中苦苦挣扎的人将其发布到这里。使用此模块,按照官方Github上的说明操作,他们有Facebook和Google的示例

另外,将这些管道添加到设置中

SOCIAL_AUTH_PIPELINE = (
  'social_core.pipeline.social_auth.social_details',
  'social_core.pipeline.social_auth.social_uid',
  'social_core.pipeline.social_auth.auth_allowed',
  'social_core.pipeline.social_auth.social_user',
  'social_core.pipeline.user.get_username',
  'social_core.pipeline.social_auth.associate_by_email',
  'social_core.pipeline.user.create_user',
  'social_core.pipeline.social_auth.associate_user',
  'social_core.pipeline.social_auth.load_extra_data',
  'social_core.pipeline.user.user_details',
)
这将允许用户通过单个用户帐户的多个社交登录对自己进行身份验证

如果您正确地遵循了官方GitHub的说明,那么您应该能够访问localhost:8000/auth/convert-token,从那里您可以将令牌转换为应用令牌,并使用它对用户进行身份验证

python manage.py makemigrations
python manage.py migrate