ВозможностиДокументацияЦеныPlaygroundFAQ

SSO / SAML

Single Sign-On через SAML 2.0 для Enterprise

🔒 Enterprise только

Обзор

FlowLink поддерживает SAML 2.0 SSO для аутентификации через корпоративный IdP (Identity Provider). Пользователи авторизуются через существующую систему (Okta, Azure AD, Keycloak, GitLab и др.), а FlowLink выдает JWT токены с ролями из SAML assertions.

Архитектура

SAML Flow
User → FlowLink SPIdP → User (login) → IdP → FlowLink ACS → JWT

Настройка

1. Переменные окружения

bash
# Relay config
SAML_IDP_METADATA_URL=https://your-idp.example.com/saml/metadata
SAML_SP_ENTITY_ID=https://relay.example.com
SAML_ASSERTION_CONSUMER=https://relay.example.com/auth/saml/acs

2. SP Metadata для IdP

bash
# Получите SP metadata для настройки в IdP
curl https://relay.example.com/auth/saml/metadata

3. Тестирование

bash
# Инициировать SSO login
curl -L https://relay.example.com/auth/saml/login

# После успешного логина вы получите JWT токен
# Используйте его для API запросов
curl https://relay.example.com/api/agents \
  -H "Authorization: Bearer $JWT_TOKEN"

Поддерживаемые IdP

Okta
Azure AD / Entra ID
Keycloak
GitLab
Google Workspace
OneLogin
Auth0 (SAML)
AWS IAM IdP

Маппинг ролей

Роли из SAML assertion автоматически маппятся на FlowLink RBAC роли. Настройте attribute mapping в IdP, чтобы передавать flowlink_role как SAML attribute.

xml
<!-- Example SAML attribute -->
<saml:Attribute Name="flowlink_role" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
  <saml:AttributeValue>operator</saml:AttributeValue>
</saml:Attribute>

Эндпоинты

GET /auth/saml/login Инициировать SSO
POST /auth/saml/acs Assertion Consumer Service
GET /auth/saml/metadata SP metadata XML