Django rest framework django rest框架和jwt的社交身份验证

Django rest framework django rest框架和jwt的社交身份验证,django-rest-framework,single-page-application,django-authentication,django-socialauth,Django Rest Framework,Single Page Application,Django Authentication,Django Socialauth,您好,我正在使用jwt和angular 5开发SPA django rest框架。 我建立了登录和注册部分。现在我正在寻找一种方法来添加社会登录或注册到我的应用程序,并有jwt支持深入搜索后,我发现一些模块有非常不清楚的文件(至少对我来说)。。本模块 看起来不错 他说使用: /api/login/social/jwt_user/ 以及: 是jwt的终点,但当我使用它们时,这不会给我带来任何好处 我们闲聊了一会儿,但没有结果 任何人都可以向我和许多像我这样对这个问题感到困惑的开发人员解释这个解决

您好,我正在使用jwt和angular 5开发SPA django rest框架。 我建立了登录和注册部分。现在我正在寻找一种方法来添加社会登录或注册到我的应用程序,并有jwt支持深入搜索后,我发现一些模块有非常不清楚的文件(至少对我来说)。。本模块 看起来不错 他说使用:

/api/login/social/jwt_user/
以及:

是jwt的终点,但当我使用它们时,这不会给我带来任何好处

我们闲聊了一会儿,但没有结果
任何人都可以向我和许多像我这样对这个问题感到困惑的开发人员解释这个解决方案吗?我们应该使用哪个模块,或者如果提到的模块还可以,我们应该如何使用它呢

  • 前端需要了解每个社交提供商的以下参数:

    • 客户id#仅在OAuth 2.0的情况下,社会服务提供商上注册应用程序的id
    • 重定向_uri#到此url社交提供商将使用代码重定向
    • 范围=您的范围,例如电子邮件
    • 响应类型=代码#与所有oauth2.0提供程序相同
  • 用户确认

  • 社交提供商重定向回带有参数代码的重定向uri

  • 前端现在可以登录用户了。要执行此操作,请发送带有提供商名称和代码的POST请求:

  • 这意味着,您应该在中设置一个应用程序(让我们以facebook为例),在这里,您可以找到如何设置facebook应用程序和配置django_social的教程

    之后,您将拥有客户端id,为您的facebook应用重定向uri。 下一步是获取参数代码。您可以通过向url发出get请求来获取参数代码(范围=电子邮件,如果您想获取用户电子邮件)

    如果一切正常,它将使用代码参数(例如:)将您重定向到重定向uri

    现在,您已经有了代码,可以登录(注册)用户了。只需将带有提供者名称和代码的POST请求发送到url/api/login/social/jwt/

    {"code":"YOUR_CODE", "provider":"facebook"}
    
    仅此而已,您将获得jwt令牌作为响应

    {"code":"YOUR_CODE", "provider":"facebook"}