1

我正在玩一个具有以下配置的项目:

  • Keycloak 作为 OIDC 服务器
  • 以 Pac4J 作为安全库并以 Pac4J-Play 作为接口的 Play 框架
  • 使用 AppAuth 作为 OIDC 适配器的移动 iOS 客户端

通过 Web 界面处理 API 时——一切正常。Pac4J-Play 检查活动 OIDC 配置文件的播放会话,如果不存在,用户将被重定向到 Keycloak 提供的 OIDC 登录流程。成功的身份验证将用户带回到具有正确信息的 Play 会话的 Web 界面,以便允许所有未来的 API 调用。

我在组织来自移动客户端的交互时遇到问题。AppAuth 允许正确获取访问、刷新和 id 令牌,但我不知道如何将它们与 Pac4J auth 集成。我目前正在尝试在单独的 API 调用中接受来自移动设备的令牌,并试图破解 Pac4J 来包装这些令牌,就好像它们是通过 Pac4J 获得的一样。然而,这感觉就像是一种黑客行为,并且有一些既定的做法是让这个 web/mobile/API/OIDC 以我不遵循的正确方式设置。

同一个问题的另一个问题是我是否应该为 API 和移动授权使用单独的 Keycloak 客户端。例如,通过 Keycloak 中配置的“移动”客户端获取的访问令牌是否可以与“web”Keycloak 客户端管理的调用一起使用?

谢谢

4

0 回答 0