Перейти к содержанию

SAML SSO

Функционал доступен в Enterprise версии только для пользователей с правами Администратора.


Описание структуры JSON-объекта, описывающего SAML-подключение

Поле Тип Описание
uuid String UUID SAML-подключения
name String Отображаемое имя SAML-подключения
idpMetadataUrl String Url для получения SAML xml метаданных поставщика удостоверений (IDP metadata)
idpIssuer String Уникальный, неизменяемый issuerId поставщика удостоверений (IDP issuerId)
cert String x509 сертификат поставщика удостоверений (IDP certificate)
idpInitiatedSsoUrl String URL для входа через поставщик удостоверений со страницы авторизации GitFlic

Метод для получения SAML подключений

GET /admin/saml

Запрос возвращает список SAML-подключений, есть возможность настройки количества отображаемых объектов на странице

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "samlAdminApiModelList": [
            {
                "uuid": "ebe95df1-aaaa-aaaa-aaaa-1419e9eae965",
                "name": "Keycloack",
                "idpMetadataUrl": "https://example.com",
                "idpIssuer": "login-app",
                "cert": "MIICoTCCAYkCaaaaaaaaaaaa7xCT82pTe6g=",
                "idpInitiatedSsoUrl": "https://example.com"
            },
            {
                "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
                "name": "Gitflic",
                "idpMetadataUrl": "https://example.com",
                "idpIssuer": "Gitflic",
                "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o",
                "idpInitiatedSsoUrl": "https://example.com"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для создания SAML подключения

POST /admin/saml

Запрос создает SAML-подключение и возвращает информацию о нем.

Request

Поддерживаемый формат json

Структура тела POST-запроса:

Переменная JSON Тип Описание
name String Отображаемое имя SAML-подключения
idpMetadataUrl String Url для получения SAML xml метаданных поставщика удостоверений (IDP metadata)
idpIssuer String Уникальный, неизменяемый issuerId поставщика удостоверений (IDP issuerId)
idpInitiatedSsoUrl String URL для входа через поставщик удостоверений со страницы авторизации GitFlic
cert String x509 сертификат поставщика удостоверений (IDP certificate)

Пример JSON объекта

{
    "name":"SAML-подключение",
    "idpMetadataUrl":"https://example.com",
    "idpIssuer":"Gitflic",
    "idpInitiatedSsoUrl": "https://example.com",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o"
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
    "name": "SAML-подключение",
    "idpMetadataUrl": "https://example.com",
    "idpIssuer": "Gitflic",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o",
    "idpInitiatedSsoUrl": "https://example.com"
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для редактирования существующего SAML подключения

PUT /admin/saml/{samlUuid}

Запрос редактирует существующее SAML-подключение и возвращает информацию о нем.

Переменная пути запроса Тип Описание
samlUuid String UUID SAML-подключения

Request

Поддерживаемый формат json

Структура тела PUT-запроса:

Переменная JSON Тип Описание
name String Отображаемое имя SAML-подключения
idpMetadataUrl String Url для получения SAML xml метаданных поставщика удостоверений (IDP metadata)
idpIssuer String Уникальный, неизменяемый issuerId поставщика удостоверений (IDP issuerId)
idpInitiatedSsoUrl String URL для входа через поставщик удостоверений со страницы авторизации GitFlic
cert String x509 сертификат поставщика удостоверений (IDP certificate)

Пример JSON объекта

{
    "name":"SAML-подключение",
    "idpMetadataUrl":"https://example.com",
    "idpIssuer":"Gitflic",
    "idpInitiatedSsoUrl": "https://example.com",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o"
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
    "name": "SAML-подключение",
    "idpMetadataUrl": "https://example.com",
    "idpIssuer": "Gitflic",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o",
    "idpInitiatedSsoUrl": "https://example.com"
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для включения или отключения SAML подключения

PUT /admin/saml/{samlUuid}change-status/?isEnabled={samlStatus}

Запрос включает или отключает SAML-подключение

Переменная пути запроса Тип Описание
samlUuid String UUID SAML-подключения
samlStatus Boolean SAML-подключение включено true или выключено false

Responses

STATUS 200 - Статус SAML-подключения успешно изменено.

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.