SAML 准备身份验证 API
编辑SAML 准备身份验证 API编辑
根据 Elasticsearch 中相应 SAML 域的配置,创建 SAML 身份验证请求(<AuthnRequest>
)作为 URL 字符串。
此 API 旨在供除 Kibana 之外的自定义 Web 应用程序使用。如果您使用的是 Kibana,请参阅在 Elastic Stack 上配置 SAML 单点登录。
请求编辑
POST /_security/saml/prepare
描述编辑
此 API 返回指向 SAML 身份提供者的 URL。您可以使用此 URL 重定向用户的浏览器,以继续身份验证过程。该 URL 包含一个名为 SAMLRequest
的参数,其中包含一个经过压缩和 Base64 编码的 SAML 身份验证请求。如果配置规定 SAML 身份验证请求应进行签名,则该 URL 将包含两个名为 SigAlg
和 Signature
的额外参数。这些参数包含用于签名的算法和签名值本身。它还会返回一个随机字符串,该字符串唯一标识此 SAML 身份验证请求。此 API 的调用者需要存储此标识符,因为它需要在身份验证过程的后续步骤中使用(请参阅SAML 身份验证 API)。
Elasticsearch 通过 SAML API 公开所有必要的 SAML 相关功能。这些 API 在 Kibana 内部使用,以提供基于 SAML 的身份验证,但也可以由其他自定义 Web 应用程序或其他客户端使用。另请参阅SAML 身份验证 API、SAML 撤销 API、SAML 注销 API 和SAML 完成注销 API。
请求正文编辑
-
acs
- (可选,字符串) 与 Elasticsearch 中的 SAML 域之一匹配的断言使用者服务 URL。该域用于生成身份验证请求。您必须指定此参数或
realm
参数。 -
realm
- (可选,字符串) Elasticsearch 中 SAML 域的名称,其配置用于生成身份验证请求。您必须指定此参数或
acs
参数。 -
relay_state
- (可选,字符串) 此 API 返回的重定向 URL 中将包含的字符串,作为
RelayState
查询参数。如果身份验证请求已签名,则此值将用作签名计算的一部分。
响应正文编辑
-
id
- (字符串) API 调用者存储的 SAML 请求的唯一标识符。
-
realm
- (字符串) 用于构建身份验证请求的 Elasticsearch 域的名称。
-
redirect
- (字符串) 要重定向用户的 URL。
示例编辑
以下示例为名为 saml1
的 SAML 域生成 SAML 身份验证请求
POST /_security/saml/prepare { "realm" : "saml1" }
以下示例为断言使用者服务 URL 与 `https://kibana.org/api/security/saml/callback` 匹配的 SAML 域生成 SAML 身份验证请求
POST /_security/saml/prepare { "acs" : "https://kibana.org/api/security/saml/callback" }
此 API 返回以下响应
{ "redirect": "https://my-idp.org/login?SAMLRequest=fVJdc6IwFP0rmbwDgUKLGbFDtc462%2B06FX3Yl50rBJsKCZsbrPbXL6J22hdfk%2FNx7zl3eL%2BvK7ITBqVWCfVdRolQuS6k2iR0mU2dmN6Phgh1FTQ8be2rehH%2FWoGWdESF%2FPST0NYorgElcgW1QG5zvkh%2FPfHAZbwx2upcV5SkiMLYzmqsFba1MAthdjIXy5enhL5a23DPOyo6W7kGBa7cwhZ2gO7G8OiW%2BR400kORt0bag7fzezAlk24eqcD2OxxlsNN5O3MdsW9c6CZnbq7rntF4d3s0D7BaHTZhIWN52P%2BcjiuGRbDU6cdj%2BEjJbJLQv4N4ADdhxBiEZbQuWclY4Q8iABbCXczCdSiKMAC%2FgyO2YqbQgrIJDZg%2FcFjsMD%2Fzb3gUcBa5sR%2F9oWR%2BzuJBqlPG14Jbn0DIf2TZ3Jn%2FXmSUrC5ddQB6bob37uZrJdeF4dIDHV3iuhb70Ptq83kOz53ubDLXlcwPJK0q%2FT42AqxIaAkVCkqm2tRgr49yfJGFU%2FZQ3hy3QyuUpd7obPv97kb%2FAQ%3D%3D"}", "realm": "saml1", "id": "_989a34500a4f5bf0f00d195aa04a7804b4ed42a1" }