我正在尝试在我的后端(BE)应用程序中设置Pac4j,为了配置我的Angular前端(FE),我需要了解它期望的工作流程,以便正确配置后端。
我一直在阅读大量文档并浏览 Pac4j 源代码,以找到如何在不公开客户端密码的情况下从代码中获取令牌。
所以。。。
- 我尝试登录 FE->BE(无需身份验证)
- 我收到 401
- 我从 401 中获取"位置"(谷歌身份验证 uri)并重定向到它,提供一个回调 uri
- 我登录谷歌
- 我被重定向回我的回调 uri 与代码
- (我应该向 BE 发出什么请求才能取回令牌?即不需要client_secret的令牌 URI 在哪里)
- 我使用检索到的令牌访问并使用 BE 正常继续
如果你不想使用 client_secret
,那么你需要公共客户端。我不确定谷歌是否支持公共客户端。
恕我直言,更好的方法是 FE 中的隐式流。它将生成访问令牌,该令牌将用于 BE API 调用。