我有一个关于 oauth2 流程的问题。我正在使用 python/fastapi,并且已经实现了 oauth2 流,其中重定向端点位于前端侧,因为无法从外部访问后端。流程看起来像这样
FE 向 BE 发送登录请求-
BE,在 request.session 中生成状态并将请求重定向到身份提供商-
IDP 验证输入并将请求重定向到给定的重定向网址-
FE 接收授权码和状态并向 BE 发送授权请求-
BE 验证状态,问题就在这里,他收到新会话,砰,无法验证收到的输入。-
访问令牌验证....-
FE 使用 React js,只需从 IDP 接收代码和状态并将其转发。会出现什么问题呢?前端应该以不会丢失会话的方式处理请求,或者 request.session 可能不是一个好的选择(oauth2 lib 实现也是如此)。
我正在本地测试它,因此在不同域上重置会话不应该是这种情况。当重定向 url 在 BE 上时,它可以在没有重定向端点的情况下工作。