Django - DRF (django-rest-framework-social-oauth2) 和 React 创建用户

Pro*_*joe 8 django django-rest-framework reactjs python-social-auth

我正在使用 DRF 和 ReactJS,我正在尝试使用 django-rest-framework-social-oauth2.

在 React 中,我向后端发送请求,auth/login/patreon/然后到达 Patreon OAuth 屏幕,在那里我说我想使用 PAtreon 登录。Patreon 然后返回一个请求到后端的accounts/profile。此时,python-social-oauth用户也已创建。

在这一点上我很困惑。如何向 Patreon 发出登录请求,在后端创建用户,并将会话信息返回给 React 前端,以便我可以在来自前端的所有后续请求中包含会话信息?我不希望返回的请求在后端/accounts/profile,是吗?

更新 我现在意识到我可以设置重定向 url,LOGIN_REDIRECT_URL但是,我现在如何检索会话 ID,将其传递给前端,并将其包含在所有请求中?

Uma*_*yat 0

一旦您从 Patreon 收到用户配置文件emailunique id和其他详细信息,即可在数据库级别创建用户。

现在,在数据库级别创建用户后,您必须使用 Django 登录功能或任何其他登录机制登录用户,然后再使用会话将用户重定向到前端。主页/登陆页面的重定向 URL 由前端端提供,他们希望在成功登录并在 cookie 中设置会话 ID 后将用户登陆到该页面。向前前端端可以使用 cookie 中的会话 ID 来处理其他请求。

这是流程:

React JS -> auth/login/patreon/ -> 重定向到 Patreon -> 重定向回带有用户信息的后端 -> 创建用户(数据库级别) -> 登录用户 -> 重定向回前端(特定 URL 上的 React JS由前端提供)