Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›REST API ›API безопасности

API подготовки аутентификации OpenID Connect

Создаёт запрос аутентификации oAuth 2.0 в виде строки URL на основе конфигурации соответствующей области аутентификации OpenID Connect в Elasticsearch.

Запрос

POST /_security/oidc/prepare

Описание

Ответ этого API — URL, указывающий на конечную точку авторизации предоставленного поставщика OpenID Connect, который можно использовать для перенаправления браузера пользователя, чтобы продолжить процесс аутентификации.

Elasticsearch предоставляет всю необходимую функциональность, связанную с OpenID Connect, через API OpenID Connect. Эти API используются внутренне Kibana для предоставления аутентификации на основе OpenID Connect, но также могут использоваться другими пользовательскими веб-приложениями или другими клиентами. См. также API аутентификации OpenID Connect и API выхода из системы OpenID Connect.

Тело запроса

В теле запроса можно указать следующие параметры:

realm
(Необязательный, строка) Название области аутентификации OpenID Connect в Elasticsearch, конфигурация которой должна использоваться для генерации запроса аутентификации. Не может быть указано, когда iss указано. Требуется один из параметров realm, iss.
state
(Необязательный, строка) Значение, используемое для поддержания состояния между запросом на аутентификацию и ответом, обычно используется для предотвращения межсайтовых поддельных запросов. Если вызывающий API не предоставляет значение, Elasticsearch сгенерирует его с достаточной энтропией и вернёт его в ответе.
nonce
(Необязательный, строка) Значение, используемое для связывания сеанса клиента с токеном идентификации и для предотвращения атак повторного использования. Если вызывающий API не предоставляет значение, Elasticsearch сгенерирует его с достаточной энтропией и вернёт его в ответе.
iss
(Необязательный, строка) В случае инициирования Single Sign On третьей стороной — это идентификатор издателя OP, которому RP должен отправить запрос на аутентификацию. Не может быть указано, когда realm указано. Требуется один из параметров realm, iss.
login_hint
(Необязательный, строка) В случае инициирования Single Sign On третьей стороной — строковое значение, которое должно быть включено в запрос на аутентификацию, как параметр login_hint. Этот параметр недействителен, когда realm указано

Примеры

Следующий пример генерирует запрос на аутентификацию для области OpenID Connect oidc1:

POST /_security/oidc/prepare
{
  "realm" : "oidc1"
}

Следующий пример ответа содержит URI, указывающий на конечную точку авторизации поставщика OpenID Connect со всеми параметрами запроса на аутентификацию, как параметры HTTP GET:

{
  "redirect" : "http://127.0.0.1:8080/c2id-login?scope=openid&response_type=id_token&redirect_uri=https%3A%2F%2Fmy.fantastic.rp%2Fcb&state=4dbrihtIAt3wBTwo6DxK-vdk-sSyDBV8Yf0AjdkdT5I&nonce=WaBPH0KqPVdG5HHdSxPRjfoZbXMCicm5v1OiAj0DUFM&client_id=elasticsearch-rp",
  "state" : "4dbrihtIAt3wBTwo6DxK-vdk-sSyDBV8Yf0AjdkdT5I",
  "nonce" : "WaBPH0KqPVdG5HHdSxPRjfoZbXMCicm5v1OiAj0DUFM",
  "realm" : "oidc1"
}

Следующий пример генерирует запрос на аутентификацию для области OpenID Connect oidc1, где значения state и nonce были сгенерированы клиентом:

POST /_security/oidc/prepare
{
  "realm" : "oidc1",
  "state" : "lGYK0EcSLjqH6pkT5EVZjC6eIW5YCGgywj2sxROO",
  "nonce" : "zOBXLJGUooRrbLbQk5YCcyC8AXw3iloynvluYhZ5"
}

Следующий пример ответа содержит URI, указывающий на конечную точку авторизации поставщика OpenID Connect со всеми параметрами запроса на аутентификацию, как параметры HTTP GET:

{
  "redirect" : "http://127.0.0.1:8080/c2id-login?scope=openid&response_type=id_token&redirect_uri=https%3A%2F%2Fmy.fantastic.rp%2Fcb&state=lGYK0EcSLjqH6pkT5EVZjC6eIW5YCGgywj2sxROO&nonce=zOBXLJGUooRrbLbQk5YCcyC8AXw3iloynvluYhZ5&client_id=elasticsearch-rp",
  "state" : "lGYK0EcSLjqH6pkT5EVZjC6eIW5YCGgywj2sxROO",
  "nonce" : "zOBXLJGUooRrbLbQk5YCcyC8AXw3iloynvluYhZ5",
  "realm" : "oidc1"
}

Следующий пример генерирует запрос на аутентификацию для инициирования Single Sign On третьей стороной, указав издателя, который должен использоваться для соответствия соответствующей области аутентификации OpenID Connect:

POST /_security/oidc/prepare
{
  "iss" : "http://127.0.0.1:8080",
  "login_hint": "this_is_an_opaque_string"
}

Следующий пример ответа содержит URI, указывающий на конечную точку авторизации поставщика OpenID Connect со всеми параметрами запроса на аутентификацию, как параметры HTTP GET:

{
  "redirect" : "http://127.0.0.1:8080/c2id-login?login_hint=this_is_an_opaque_string&scope=openid&response_type=id_token&redirect_uri=https%3A%2F%2Fmy.fantastic.rp%2Fcb&state=4dbrihtIAt3wBTwo6DxK-vdk-sSyDBV8Yf0AjdkdT5I&nonce=WaBPH0KqPVdG5HHdSxPRjfoZbXMCicm5v1OiAj0DUFM&client_id=elasticsearch-rp",
  "state" : "4dbrihtIAt3wBTwo6DxK-vdk-sSyDBV8Yf0AjdkdT5I",
  "nonce" : "WaBPH0KqPVdG5HHdSxPRjfoZbXMCicm5v1OiAj0DUFM",
  "realm" : "oidc1"
}

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-api-oidc-prepare-authentication.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API