SAML 失效 API
编辑SAML 失效 API
编辑将 SAML LogoutRequest 消息提交给 Elasticsearch 以供使用。
此 API 旨在供 Kibana 以外的自定义 Web 应用程序使用。如果您使用的是 Kibana,请参阅 在 Elastic Stack 上配置 SAML 单点登录。
请求
编辑POST /_security/saml/invalidate
描述
编辑注销请求来自 IdP 发起的单点注销期间的 SAML IdP。自定义 Web 应用程序可以使用此 API 让 Elasticsearch 处理 LogoutRequest
。在成功验证请求后,Elasticsearch 会使与该特定 SAML 主体相对应的访问令牌和刷新令牌失效,并提供包含 SAML LogoutResponse 消息的 URL,以便用户可以重定向回其 IdP。
Elasticsearch 通过 SAML API 公开所有必要的 SAML 相关功能。这些 API 在 Kibana 内部用于提供基于 SAML 的身份验证,但也可以由其他自定义 Web 应用程序或其他客户端使用。另请参阅 SAML 身份验证 API、SAML 准备身份验证 API、SAML 注销 API 和 SAML 完全注销 API。
请求正文
编辑-
acs
- (可选,字符串) 与 Elasticsearch 中应使用的 SAML 域之一匹配的断言使用者服务 URL。您必须指定此参数或
realm
参数。 -
query_string
- (必填,字符串) 用户被 SAML IdP 重定向到以启动单点注销的 URL 的查询部分。此查询应包含一个名为
SAMLRequest
的参数,该参数包含已解压缩并以 Base64 编码的 SAML 注销请求。如果 SAML IdP 已对注销请求进行签名,则 URL 应包含另外两个名为SigAlg
和Signature
的参数,这些参数分别包含用于签名的算法和签名值本身。为了让 Elasticsearch 能够验证 IdP 的签名,query_string 字段的值必须与浏览器提供的字符串完全匹配。客户端应用程序不得尝试以任何方式解析或处理该字符串。 -
queryString
-
[7.14.0] 已在 7.14.0 中弃用。请改用 query_string 请参阅
query_string
。 -
realm
- (可选,字符串) Elasticsearch 配置中 SAML 域的名称。您必须指定此参数或
acs
参数。
响应正文
编辑-
invalidated
- (整数) 作为此注销的一部分而失效的令牌数。
-
realm
- (字符串) Elasticsearch 中对用户进行身份验证的 SAML 域的域名称。
-
redirect
- (字符串) SAML 注销响应作为参数,以便用户可以重定向回 SAML IdP。
示例
编辑以下示例使与 SAML 注销请求中标识的用户相关的域 saml1
的所有令牌失效
resp = client.security.saml_invalidate( query_string="SAMLRequest=nZFda4MwFIb%2FiuS%2BmviRpqFaClKQdbvo2g12M2KMraCJ9cRR9utnW4Wyi13sMie873MeznJ1aWrnS3VQGR0j4mLkKC1NUeljjA77zYyhVbIE0dR%2By7fmaHq7U%2BdegXWGpAZ%2B%2F4pR32luBFTAtWgUcCv56%2Fp5y30X87Yz1khTIycdgpUW9kY7WdsC9zxoXTvMvWuVV98YyMnSGH2SYE5pwALBIr9QKiwDGpW0oGVUznGeMyJZKFkQ4jBf5HnhUymjIhzCAL3KNFihbYx8TBYzzGaY7EnIyZwHzCWMfiDnbRIftkSjJr%2BFu0e9v%2B0EgOquRiiZjKpiVFp6j50T4WXoyNJ%2FEWC9fdqc1t%2F1%2B2F3aUpjzhPiXpqMz1%2FHSn4A&SigAlg=http%3A%2F%2Fwww.w3.org%2F2001%2F04%2Fxmldsig-more%23rsa-sha256&Signature=MsAYz2NFdovMG2mXf6TSpu5vlQQyEJAg%2B4KCwBqJTmrb3yGXKUtIgvjqf88eCAK32v3eN8vupjPC8LglYmke1ZnjK0%2FKxzkvSjTVA7mMQe2AQdKbkyC038zzRq%2FYHcjFDE%2Bz0qISwSHZY2NyLePmwU7SexEXnIz37jKC6NMEhus%3D", realm="saml1", ) print(resp)
const response = await client.security.samlInvalidate({ query_string: "SAMLRequest=nZFda4MwFIb%2FiuS%2BmviRpqFaClKQdbvo2g12M2KMraCJ9cRR9utnW4Wyi13sMie873MeznJ1aWrnS3VQGR0j4mLkKC1NUeljjA77zYyhVbIE0dR%2By7fmaHq7U%2BdegXWGpAZ%2B%2F4pR32luBFTAtWgUcCv56%2Fp5y30X87Yz1khTIycdgpUW9kY7WdsC9zxoXTvMvWuVV98YyMnSGH2SYE5pwALBIr9QKiwDGpW0oGVUznGeMyJZKFkQ4jBf5HnhUymjIhzCAL3KNFihbYx8TBYzzGaY7EnIyZwHzCWMfiDnbRIftkSjJr%2BFu0e9v%2B0EgOquRiiZjKpiVFp6j50T4WXoyNJ%2FEWC9fdqc1t%2F1%2B2F3aUpjzhPiXpqMz1%2FHSn4A&SigAlg=http%3A%2F%2Fwww.w3.org%2F2001%2F04%2Fxmldsig-more%23rsa-sha256&Signature=MsAYz2NFdovMG2mXf6TSpu5vlQQyEJAg%2B4KCwBqJTmrb3yGXKUtIgvjqf88eCAK32v3eN8vupjPC8LglYmke1ZnjK0%2FKxzkvSjTVA7mMQe2AQdKbkyC038zzRq%2FYHcjFDE%2Bz0qISwSHZY2NyLePmwU7SexEXnIz37jKC6NMEhus%3D", realm: "saml1", }); console.log(response);
POST /_security/saml/invalidate { "query_string" : "SAMLRequest=nZFda4MwFIb%2FiuS%2BmviRpqFaClKQdbvo2g12M2KMraCJ9cRR9utnW4Wyi13sMie873MeznJ1aWrnS3VQGR0j4mLkKC1NUeljjA77zYyhVbIE0dR%2By7fmaHq7U%2BdegXWGpAZ%2B%2F4pR32luBFTAtWgUcCv56%2Fp5y30X87Yz1khTIycdgpUW9kY7WdsC9zxoXTvMvWuVV98YyMnSGH2SYE5pwALBIr9QKiwDGpW0oGVUznGeMyJZKFkQ4jBf5HnhUymjIhzCAL3KNFihbYx8TBYzzGaY7EnIyZwHzCWMfiDnbRIftkSjJr%2BFu0e9v%2B0EgOquRiiZjKpiVFp6j50T4WXoyNJ%2FEWC9fdqc1t%2F1%2B2F3aUpjzhPiXpqMz1%2FHSn4A&SigAlg=http%3A%2F%2Fwww.w3.org%2F2001%2F04%2Fxmldsig-more%23rsa-sha256&Signature=MsAYz2NFdovMG2mXf6TSpu5vlQQyEJAg%2B4KCwBqJTmrb3yGXKUtIgvjqf88eCAK32v3eN8vupjPC8LglYmke1ZnjK0%2FKxzkvSjTVA7mMQe2AQdKbkyC038zzRq%2FYHcjFDE%2Bz0qISwSHZY2NyLePmwU7SexEXnIz37jKC6NMEhus%3D", "realm" : "saml1" }
{ "redirect" : "https://my-idp.org/logout/SAMLResponse=....", "invalidated" : 2, "realm" : "saml1" }