2

我正在尝试让我的 SPA 应用程序支持 OAuth2 的 Open ID Connect (OIDC)。我没有做隐式流程。我正在使用 Proof Key for Code Exchange ( PKCE ) 执行授权代码流程。

有一个 javacript 库可以为 OIDC 完成大部分繁重的工作。它被称为oidc-client-js

它有 2 个登录选项。

  • 重定向:将浏览器重定向到登录页面。之后它将浏览器定向到 OIDC 回调页面。
  • 弹出:弹出一个加载登录页面的新浏览器窗口。之后弹出的窗口加载回调页面。

我遇到的问题是我最终使用任何一种方法至少加载了两次我的 SPA 应用程序。

  • 对于重定向: SPA 应用程序加载,我调用重定向到登录屏幕。用户登录后,它会加载我的回调页面。再次加载应用程序。

  • 对于弹出窗口: SPA 应用程序加载,我进行弹出调用以登录。使用登录后,它会在弹出的窗口中再次加载我的 SPA 应用程序(用于回调)。

将授权代码流与 PKCE 一起使用的 SPA 应用程序的预期流程是什么?

4

0 回答 0