【问题标题】:Django - DRF (django-rest-framework-social-oauth2) and React creating a userDjango - DRF (django-rest-framework-social-oauth2) 和 React 创建用户
【发布时间】:2018-08-19 22:55:22
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: django reactjs django-rest-framework python-social-auth


    【解决方案1】:

    一旦您从 Patreon 收到用户个人资料 emailunique id 和其他详细信息,然后在数据库级别创建用户。

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

    流程如下:

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

    【讨论】:

    • 这意味着 react 应用程序应该再次“启动”? (丢失状态)
    猜你喜欢
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 2020-02-16
    • 1970-01-01
    • 2018-01-29
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多