LegalStack

Single Sign-On

Single Sign-On: SAML/OIDC подключения команды.

Список SSO-провайдеров команды

GET
/api/v1/security/admin/sso/providers
АвторизацияBearer <токен>

В: header

Тело ответа

application/json

curl -X GET "https://loading/api/v1/security/admin/sso/providers"
[
  {
    "attributeMap": {
      "property1": "string",
      "property2": "string"
    },
    "clientId": "string",
    "domains": [
      "string"
    ],
    "id": "string",
    "isActive": true,
    "issuerUrl": "string",
    "name": "string",
    "scopes": [
      "string"
    ]
  }
]

Создать SSO-провайдер для команды

POST
/api/v1/security/admin/sso/providers
АвторизацияBearer <токен>

В: header

Тело запроса

application/json

TypeScript-определения

Используйте тип request body в TypeScript.

Тело ответа

application/json

curl -X POST "https://loading/api/v1/security/admin/sso/providers" \  -H "Content-Type: application/json" \  -d '{    "clientId": "string",    "issuerUrl": "http://example.com",    "name": "string"  }'
{
  "attributeMap": {
    "property1": "string",
    "property2": "string"
  },
  "clientId": "string",
  "domains": [
    "string"
  ],
  "id": "string",
  "isActive": true,
  "issuerUrl": "string",
  "name": "string",
  "scopes": [
    "string"
  ]
}

Удалить SSO-провайдер

DELETE
/api/v1/security/admin/sso/providers/{id}
АвторизацияBearer <токен>

В: header

Параметры пути

id*string
Форматuuid

Тело ответа

application/json

curl -X DELETE "https://loading/api/v1/security/admin/sso/providers/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "ok": true
}

Обновить SSO-провайдер

PUT
/api/v1/security/admin/sso/providers/{id}
АвторизацияBearer <токен>

В: header

Параметры пути

id*string
Форматuuid

Тело запроса

application/json

TypeScript-определения

Используйте тип request body в TypeScript.

Тело ответа

application/json

curl -X PUT "https://loading/api/v1/security/admin/sso/providers/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "ok": true
}

Привязать email-домен к SSO-провайдеру

POST
/api/v1/security/admin/sso/providers/{id}/domains
АвторизацияBearer <токен>

В: header

Параметры пути

id*string
Форматuuid

Тело запроса

application/json

TypeScript-определения

Используйте тип request body в TypeScript.

Тело ответа

application/json

curl -X POST "https://loading/api/v1/security/admin/sso/providers/497f6eca-6276-4993-bfeb-53cbbbba6f08/domains" \  -H "Content-Type: application/json" \  -d '{    "domain": "string"  }'
{
  "ok": true
}

Отвязать email-домен от SSO-провайдера

DELETE
/api/v1/security/admin/sso/providers/{id}/domains/{domain}
АвторизацияBearer <токен>

В: header

Параметры пути

id*string
Форматuuid
domain*string

Тело ответа

application/json

curl -X DELETE "https://loading/api/v1/security/admin/sso/providers/497f6eca-6276-4993-bfeb-53cbbbba6f08/domains/string"
{
  "ok": true
}

OIDC RP callback — обмен code на наши токены

GET
/api/v1/security/sso/callback

Параметры запроса

code*string

Authorization code от IdP

state*string

State, выданный при старте flow

error?string

Код ошибки от IdP

error_description?string

Описание ошибки от IdP

Тело ответа

curl -X GET "https://loading/api/v1/security/sso/callback?code=string&state=string"
Пусто

Проверить, настроен ли SSO для домена email

GET
/api/v1/security/sso/discover

Параметры запроса

email*string

Email пользователя — SSO ищется по его домену

Форматemail

Тело ответа

application/json

curl -X GET "https://loading/api/v1/security/sso/discover?email=user%40example.com"
{
  "enabled": true,
  "loginUrl": "string",
  "provider": "string"
}

Старт OIDC RP flow — редирект к корпоративному IdP

GET
/api/v1/security/sso/login/{providerId}

Параметры пути

providerId*string
Форматuuid

Параметры запроса

returnTo?string

Куда вернуть пользователя после входа

Тело ответа

curl -X GET "https://loading/api/v1/security/sso/login/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Пусто