应用程序和服务的安全规划

保护应用程序安全的介绍和基本概念

作为一个兼容 OAuth2、OpenID Connect 和 SAML 的服务器,只要应用程序和服务使用的技术栈支持这些协议中的任何一种,Keycloak 就可以保护任何应用程序和服务。有关 Keycloak 支持的安全协议的更多详细信息,请参阅服务器管理指南

大多数编程语言、框架或反向代理已经提供了对其中一些协议的支持。利用应用程序生态系统中已有的支持是使您的应用程序完全符合安全标准和最佳实践的关键方面,这样您可以避免供应商锁定。

对于某些编程语言,Keycloak 提供了库,试图填补特定安全协议缺乏支持的空白,或提供与服务器更丰富和更紧密的集成。这些库被称为 Keycloak 客户端适配器,如果无法依赖应用程序生态系统中可用的内容,则应将它们作为最后的手段使用。

保护应用程序和服务的基本步骤

以下是在 Keycloak 中保护应用程序或服务的基本步骤。

  1. 使用以下选项之一向 realm 注册客户端

    • Keycloak 管理控制台

    • 客户端注册服务

    • CLI

  2. 使用以下选项之一在您的应用程序中启用 OpenID Connect 或 SAML 协议

    • 利用应用程序生态系统中现有的 OpenID Connect 和 SAML 支持

    • 使用 Keycloak 适配器

本指南提供了这些步骤的详细说明。您可以在服务器管理指南中找到关于如何通过管理控制台向 Keycloak 注册客户端的更多详细信息。

开始入门

Keycloak 快速入门仓库提供了关于如何使用不同的编程语言和框架来保护应用程序和服务的示例。通过阅读它们的文档和代码库,您将了解为了使用 Keycloak 保护您的应用程序和服务,您需要在应用程序和服务中进行的最基本更改。

此外,请参阅以下部分,了解有关 OpenID Connect 和 SAML 协议的可信和知名的客户端实现的建议。

OpenID Connect

JavaScript (客户端)

Node.js (服务端)

C#

Python

Android

iOS

Apache HTTP 服务器

术语

本指南中使用了以下术语

  • 客户端是与 Keycloak 交互以验证用户身份并获取令牌的实体。通常,客户端是代表用户操作的应用程序和服务,它们为用户提供单点登录体验,并使用服务器颁发的令牌访问其他服务。客户端也可以是仅对获取令牌并代表自己操作以访问其他服务感兴趣的实体。

  • 应用程序包括适用于每个协议的特定平台的各种应用程序

  • 客户端适配器是使使用 Keycloak 保护应用程序和服务变得容易的库。它们提供了与底层平台和框架的紧密集成。

  • 创建客户端注册客户端是相同的操作。创建客户端是使用管理控制台创建客户端时使用的术语。注册客户端是使用 Keycloak 客户端注册服务注册客户端时使用的术语。

  • 服务帐户是一种能够代表自己获取令牌的客户端类型。

本页内容