openid-connect
openid-connect 插件支持与 OpenID Connect (OIDC) 身份提供商(IdP)集成,例如 Keycloak、Auth0、Microsoft Entra ID、Google、Amazon Cognito、Okta 等。它允许 APISIX 在允许或拒绝客户端访问上游受保护资源之前,对其进行身份验证并从身份提供商获取其信息。
示例
授权码流程
授权码流程在 RFC 6749, Section 4.1 中定义。它涉及将临时授权码交换为访问令牌,通常用于机密客户端和公共客户端。
下图说明了在实现授权码流程时不同实体之间的交互:
当传入请求的头部或适当的会话 Cookie 中不包含访问令牌时,插件将充当依赖方并重定向到授权服务器以继续授权码流程。
身份验证成功后,插件将令牌保存在会话 Cookie 中,后续请求将使用存储在 Cookie 中的令牌。
参见 实施授权码授予 了解如何使用 openid-connect 插件通过授权码流程与 Keycloak 集成的示例。