0

我们有一个 Spring Boot Web 应用程序服务于一些 REST API,而使用这些 API 的客户端是一个使用 React Native 开发的移动应用程序。

现在我们需要保护 API,我们将使用 Keycloak 和 Google 作为身份提供者。Keycloak 和 Google auth 之间的集成看起来很简单,但我无法理解部分之间的整个流程以及如何加入浏览器登录(在重定向到 Google 身份验证的 Keycloak 页面上)以获得有效的访问令牌从移动应用程序执行 API 调用。

我会尝试用另一种方式来解释,我认为:

  • 移动应用程序显示网页(及其浏览器)以执行 Keycloak 登录。
  • 使用移动应用程序的最终用户按下 Keycloak 网页上的 Google 按钮并开始重定向到 Google 进行身份验证。
  • Google 对用户进行身份验证并向浏览器发送带有身份令牌和访问令牌的重定向 URI……然后……从 URI 获取访问令牌并将其用于后续 API 调用是否正确?它应该以这种方式工作吗?

我不得不说,我们的 Web 应用程序(容器化在 Kubernetes 集群中)前面还有 API 网关(Ambassador)。

我在网上阅读了不同的文章,但我仍然对最好的方法感到困惑。

欢迎任何建议。

谢谢。

4

0 回答 0