首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django-graphql-jwt中集成Facebook登录?

如何在django-graphql-jwt中集成Facebook登录?
EN

Stack Overflow用户
提问于 2021-07-30 04:16:33
回答 1查看 114关注 0票数 1

我们有一个django项目,它使用Graphene-Django库在我们的项目中实现一个GraphQL应用程序接口。这个后端是通过我们的移动应用访问的。对于应用程序的身份验证,我们使用django-graphql-jwt库,这是使用GraphQL方法的Django中的JSON Web令牌库。

现在,我们希望在我们的系统中实现Facebook登录,并使用它在Facebook中进行身份验证。认证通过后,手机应用发送到我们后台的只是用户的邮件。如何在没有密码的情况下在django-graphql-jwt中注册和验证用户?或者,有没有更好的工作流程?

EN

回答 1

Stack Overflow用户

发布于 2021-09-14 05:49:38

After authentication, what will be sent to our backend from the mobile app is only the email of the user.

嘿,阿尔·瑞安,这看起来像是OAuth的错误实现,你从facebook得到的是一个令牌,你把这个令牌发送到你的服务器,然后它会把它发回facebook,以验证它不是伪造的,然后只有用户才能登录。

否则,任何人都可以通过电子邮件呼叫服务器并充当该用户。

This是一个支持社交认证和JWT的库,看看这是否有帮助。

我还分享了我的项目的解决方案

object to >以上突变创建名为graphql in.

  • Otherwise

  • 以上突变将采用两个参数access_token和in.

  • Otherwise对此url的GET请求json响应具有密钥errors,停止用户登录上面的响应将包含email,使用它来创建/获取User对象。

H119现在,您只需从突变函数返回JWT令牌。H220H121要生成访问和刷新令牌,请调用此函数jwt_encode,作为from dj_rest_auth.utils import jwt_encode

  • above导入将返回元组access_token,refresh_token

注意,我使用的是dj_rest_auth而不是django-graphql-jwt,但它相当于你只需要一个函数来签署JWT,rest都是自定义逻辑,所以最好自己写。

PS:对于攻击者来说,OAuth是一个敏感的入口点,所以实现是安全的,您可以联系atul7555atgmail.com获取任何帮助。

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

https://stackoverflow.com/questions/68585376

复制
相关文章

相似问题

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