带有 jwt 的 django rest 框架社会认证
django rest framework social-auth with jwt
嗨,我正在使用 jwt 和 angular 5 开发 SPA django rest 框架。
我建立了登录和注册部分。现在我正在寻找一种方法来添加社交登录或注册到我的应用程序并在深度搜索后获得 jwt 支持我发现一些模块的文档非常不清楚(至少对我来说).. 这个模块
https://github.com/st4lk/django-rest-social-auth 看起来不错
他说使用:
/api/login/social/jwt_user/
和:
/api/login/social/jwt/
是 jwt 的终点,但是当我使用它们时这对我没有任何帮助..
我们在闲聊中聊了一些,但没有定论
任何人都可以向我和许多像我一样对此问题感到困惑的开发人员解释解决方案吗?我们应该使用哪个模块,或者如果提到的模块没问题,我们应该如何使用它
有带有 rest-social-auth 的 OAuth 2.0 工作流
前端需要知道每个社交提供者的以下参数:
- client_id # 仅在 OAuth 2.0 的情况下,社交服务提供商上注册应用程序的 id
- redirect_uri # 此 url 社交提供商将使用代码重定向
- scope=your_scope # 例如电子邮件
- response_type=代码 # 所有 oauth2.0 提供商都相同
用户确认。
社交提供者使用参数代码重定向回 redirect_uri。
前端现在可以登录用户了。为此,请发送 POST 请求并提供提供商名称和代码:
这意味着,您应该在 facebook developers, here is tutorial How to Add Social Login to Django 中设置一个应用程序(让我们以 facebook 为例),您可以在其中找到如何设置 facebook 应用程序和配置 django_social。
之后,您的 Facebook 应用程序将拥有 client_id、redirect_uri。
下一步是获取参数代码。您可以通过向 url https://www.facebook.com/v2.5/dialog/oauth?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&display=popup&scope=email 发出 GET 请求来获取参数代码(范围=电子邮件,如果您想获取用户电子邮件)
如果一切正确,它将使用代码参数将您重定向到 redirect_uri(例如:http://YOUR_REDIRECT_URL/?code=90159c983d3bdc28c0PPzfSQB8LI49BYlPA6Vs)
所以,现在您有了代码,可以准备登录(注册)用户了。只需将 POST 带有提供商名称和代码的请求发送至 url /api/login/social/jwt/
{"code":"YOUR_CODE", "provider":"facebook"}
就是这样,您将获得 jwt 令牌作为响应。
嗨,我正在使用 jwt 和 angular 5 开发 SPA django rest 框架。 我建立了登录和注册部分。现在我正在寻找一种方法来添加社交登录或注册到我的应用程序并在深度搜索后获得 jwt 支持我发现一些模块的文档非常不清楚(至少对我来说).. 这个模块 https://github.com/st4lk/django-rest-social-auth 看起来不错 他说使用:
/api/login/social/jwt_user/
和:
/api/login/social/jwt/
是 jwt 的终点,但是当我使用它们时这对我没有任何帮助..
我们在闲聊中聊了一些,但没有定论 任何人都可以向我和许多像我一样对此问题感到困惑的开发人员解释解决方案吗?我们应该使用哪个模块,或者如果提到的模块没问题,我们应该如何使用它
有带有 rest-social-auth 的 OAuth 2.0 工作流
前端需要知道每个社交提供者的以下参数:
- client_id # 仅在 OAuth 2.0 的情况下,社交服务提供商上注册应用程序的 id
- redirect_uri # 此 url 社交提供商将使用代码重定向
- scope=your_scope # 例如电子邮件
- response_type=代码 # 所有 oauth2.0 提供商都相同
用户确认。
社交提供者使用参数代码重定向回 redirect_uri。
前端现在可以登录用户了。为此,请发送 POST 请求并提供提供商名称和代码:
这意味着,您应该在 facebook developers, here is tutorial How to Add Social Login to Django 中设置一个应用程序(让我们以 facebook 为例),您可以在其中找到如何设置 facebook 应用程序和配置 django_social。
之后,您的 Facebook 应用程序将拥有 client_id、redirect_uri。 下一步是获取参数代码。您可以通过向 url https://www.facebook.com/v2.5/dialog/oauth?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&display=popup&scope=email 发出 GET 请求来获取参数代码(范围=电子邮件,如果您想获取用户电子邮件)
如果一切正确,它将使用代码参数将您重定向到 redirect_uri(例如:http://YOUR_REDIRECT_URL/?code=90159c983d3bdc28c0PPzfSQB8LI49BYlPA6Vs)
所以,现在您有了代码,可以准备登录(注册)用户了。只需将 POST 带有提供商名称和代码的请求发送至 url /api/login/social/jwt/
{"code":"YOUR_CODE", "provider":"facebook"}
就是这样,您将获得 jwt 令牌作为响应。