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

Обзор

Casdoor может быть настроен для поддержки входа пользователя в интерфейс с использованием идентификаторов от внешних провайдеров идентификации, поддерживающих SAML 2.0. В этой конфигурации Casdoor никогда не хранит никаких учетных данных пользователей.

Теперь Casdoor поддерживает несколько провайдеров приложений SAML. Иконки провайдеров будут отображаться на странице входа после добавления в Casdoor. Вот провайдеры, которые поддерживает Casdoor:

Alibaba Cloud IDaaSKeycloakПользовательский

Условия

  • Провайдер идентификации (IDP) - это сервис, который хранит базу данных идентификации и предоставляет услуги идентификации и аутентификации для Casdoor.
  • Провайдер услуг (SP) - это служба, которая предоставляет ресурсы конечному пользователю, в данном случае, развертыванию Casdoor.
  • Служба приема утверждений (ACS) - потребитель утверждений SAML, генерируемых провайдером идентификации.

Configuration Values for Casdoor as SP

When configuring an external Identity Provider (such as Google Workspace, Azure AD, or other SAML IdPs), you'll typically need to provide the following values:

  • ACS URL (Assertion Consumer Service URL): This is the endpoint where the IdP will send SAML assertions. For Casdoor, use: https://<your-casdoor-domain>/api/acs (replace <your-casdoor-domain> with your actual Casdoor domain, e.g., https://door.example.com/api/acs)

  • Entity ID (SP Entity ID): This uniquely identifies your Casdoor instance as a Service Provider. Use the same URL as the ACS URL: https://<your-casdoor-domain>/api/acs

  • Request Method: The /api/acs endpoint only accepts POST requests. Ensure your IdP is configured to send SAML responses via HTTP POST binding.

User Attribute Mapping

When a user authenticates through SAML, Casdoor extracts user information from the SAML assertion based on your provider's attribute mapping configuration. The username field is particularly important as it's required for user identification and creation in Casdoor.

If your IdP doesn't explicitly provide a username mapping or the username field comes back empty, Casdoor automatically applies a fallback strategy:

  1. First, it attempts to use the email address from the SAML assertion as the username
  2. If no email is available, it falls back to the NameID (unique identifier) from the assertion

This fallback mechanism ensures smooth authentication even when username attributes aren't explicitly configured in your IdP, which is common with providers like Azure AD where the default attribute claims might not include a separate username field.

Как работает интеграция SAML

При использовании SAML SSO пользователи входят в Casdoor через провайдера идентификации, не передавая учетные данные в Casdoor. Прогресс показан на следующей диаграмме.

SAML