具有 Spring 引导和 Azure AD 的 KeyCloak

KeyCloak with Spring Boot and Azure AD

我正在开发 Spring 引导应用程序,我们将使用 Azure AD(Active Directory)实现 oAuth 2.0 兼容方法,这适用于 UI 中的用户身份验证以及与我们的内部服务进行通信。

我还需要定义和管理用户角色。

我知道我可以为 Azure Active Directory 使用普通的 Spring Boot Starter,但是,我想知道在这种情况下使用 KeyCloak 是否有意义?还是 KeyCloak 适合其他类型的情况?

我有这个问题的原因是,如果 Azure AD 已经处理用户,为什么还需要 KeyCloak?

The reason I have this question is because if Azure AD already handles users, why would one need KeyCloak?

  1. Global Rest API 与 oAuth2 绑定。

  2. Keycloak 用于 Spring Boot 以验证和授权我们 API.

    的用户
  3. 针对此 API 的未经身份验证的请求是不可能的。

  4. 为了确保 authentication/authorization 组件绝对可靠并经过测试,我们在 Keyclock 中设置了一些关键属性。

  5. KeyCloak 基于 JWT,身份验证、授权和 sso 在一个包中。

  6. KeyCloak 可以节省您的大部分时间。

这是 KeyCloak 提供的与其他身份提供程序不同的一些功能。

• 单点登录:在此您的应用程序无需处理登录表单,一旦您登录到 KeyCloak.users 无需再次登录以访问不同的应用程序和相同的注销。

• 社交登录:如果您在 KeyCloak 中拥有用户帐户,则可以使用同一帐户登录任何社交网络,前提是在 KeyCloak 中为平台配置了联合会。

• 用户联盟:Keycloak 具有连接到现有 LDAP 或 Active Directory 服务器的内置支持。如果您在其他商店(例如关系数据库)中有用户,您也可以实现自己的提供程序。

• 它支持多种身份验证协议,如 SAML 2.0、SAML2.2、Open ID connect 和 Oauth2.0,用于与添加到该平台的各种身份提供商集成。

• 这可以通过为我们的 KeyCloak 安全应用程序集成来自身份提供商的用户来显着减少用户管理工作。 Example

请参阅此document以了解KeyCloack

提供的功能列表