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 将包含两个名为 SigAlgSignature 的额外参数。这些参数包含用于签名的算法和签名值本身。它还会返回一个随机字符串,该字符串唯一标识此 SAML 身份验证请求。此 API 的调用者需要存储此标识符,因为它需要在身份验证过程的后续步骤中使用(请参阅SAML 身份验证 API)。

Elasticsearch 通过 SAML API 公开所有必要的 SAML 相关功能。这些 API 在 Kibana 内部使用,以提供基于 SAML 的身份验证,但也可以由其他自定义 Web 应用程序或其他客户端使用。另请参阅SAML 身份验证 APISAML 撤销 APISAML 注销 APISAML 完成注销 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"
}