了解Keycloak的机制

uderstanding the mechanism of Keycloak

我正在使用keycloak,但我不明白用户在应用程序中进行身份验证后如何进行身份验证。
例如,我有一个使用 keycloak 保护的应用程序,当用户尝试访问它时,he/she 将被重定向到身份验证页面,然后(我猜,如果我错了请纠正我)用户将拥有一个令牌需要随每个请求一起发送。

授权code/standard流程:

  1. 您将从您的应用程序重定向到 Keycloak 的登录页面。
  2. 您将您的用户名和密码提供给 Keycloak,如果这些都是正确的,您将重定向到您的应用程序,并获得授权码。
  3. 您的应用程序将此 auth_code 及其 ID 和密钥发送给 keycloak,keycloak 会给您一个令牌。

还有两个流:资源所有者凭据和客户端凭据。

在使用 Keycloak 保护的完整系统上:

  1. 用户从 public 页面单击以导航到应用程序内的受保护区域。此保护区的 link 在您的 keycloak 管理控制台中的应用程序设置中。

  2. 用户确实会被重定向到 Keycloak 身份验证页面。在提供用户名和密码后,Keycloak 将用户重定向回您的应用程序,并使用在很短时间内有效的代码。

  3. 应用程序将此代码连同应用程序 ID 和应用程序机密传送给 Keycloak,然后 Keycloak 回复访问令牌、ID 令牌和刷新令牌。您的应用程序将只需要这些令牌之一即可查看用户拥有哪些声明,并且根据声明,将授予或拒绝用户访问受保护的 URL(s)