我在我的网站上使用django allauth进行社交登录。我还有一个由django REST框架支持的REST API,它充当移动应用程序的后端。有没有办法可以直接将allauth的身份验证后端插入REST api,以便我可以验证(和注册)在移动应用程序中使用Facebook登录的用户?
澄清一下:Facebook的登录部分是由本地sdk处理的。我需要一个工作方式类似于POST /user
(即创建一个新用户)的端点,但将Facebook oauth令牌作为输入,而不是电子邮件/密码等
Tags:
您可以使用这个库进行社会身份验证django-rest-framework-social-oauth2。试试这个django allauth相关的代码
网址.py
序列化程序.py
视图.py
虽然我不太确定如何使用allauth和rest fremework,但是allauth does not offer such an endpoint。
建议:自己做一个可以做以下改变的:
调用allauth.socialaccount.providers.facebook.views.fb_complete_login(None,socialtoken),其中socialtoken是在login_by_令牌中创建的。执行django.contrib.auth.login(一些更深层次的函数),可能创建帐户。
之后,在移动设备上使用auth(而不是FB)令牌可能是可行的:获取用户数据(从会话?),并调用rest_framework.auth token.views.get_auth_token
注:
一。这无法解决电子邮件冲突或连接社交/本地帐户。
2。我还没试过-如果你能让它工作的话,请把代码贴出来。
您可以使用Django Rest Auth来实现这一点,这取决于django allauth。很容易整合。
相关问题 更多 >
编程相关推荐