Конфигурация SSO c AD FS
осторожно
Перед настройкой SSO убедитесь, что в config.env параметр APP_URL соответствует текущему домену Пассворка, пример — APP_URL=https://passwork.example.ru.
Для примера используются следующие имена серверов:
- Провайдер (IDP) — ad-fs.passwork.local
- Сервер Пассворка (SP) — passwork.example.ru
Добавление отношения доверия проверящей стороны
Открыть — Диспетчер серверов → Средства → Управление AD FS → Отношения доверия проверяющей стороны → Действия:

Поэтапно выполнить действия в — Мастер добавления отношений доверия проверяющей стороны:
- Поддерживающие утверждения;
- Ввод данных о проверяющей стороне вручную;
- Заполнить Отображаемое имя (пример: passwork-sp);
- Пропустить шаг — Настройка сертификата, нажать Далее;
- На шаге Настройка URL-адреса:
- Включить поддержку протокола SAML 2.0 WebSSO;
- Скопировать из Пассворка в — Настройки и пользователи → Настройки SSO — адрес URL ответа;
- Поместить в URL-адрес службы SAML 2.0 SSO проверяющей стороны — https://passwork.example.ru/api/v1/sso/acs
- На шаге Настройка идентификатора:
- Скопировать из Пассворка в — Настройки и пользователи → Настройки SSO — адрес Идентификатора;
- Поместить в Идентификатор отношения доверия проверяющей стороны — https://passwork.example.ru/api/v1/sso/metadata
- Пропустить шаг — Выбрать политику управления доступом, нажать Далее;
- Пропустить шаг — Готовность для добавления отношения доверия, нажать Далее;
Пример вывода созданного доверия в PowerShell
- PowerShell
Get-ADFSRelyingPartyTrust -Name "passwork-sp" # Команда для вывода
AllowedAuthenticationClassReferences : {}
EncryptionCertificateRevocationCheck : CheckChainExcludeRoot
PublishedThroughProxy : False
SigningCertificateRevocationCheck : CheckChainExcludeRoot
WSFedEndpoint :
AdditionalWSFedEndpoint : {}
ClaimsProviderName : {}
ClaimsAccepted : {}
EncryptClaims : True
Enabled : True
EncryptionCertificate :
Identifier : {https://passwork.example.ru/api/v1/sso/metadata}
NotBeforeSkew : 0
EnableJWT : False
AlwaysRequireAuthentication : False
Notes :
OrganizationInfo :
ObjectIdentifier : 03363cb7-5eef-ef11-b8b3-000c2993a976
ProxyEndpointMappings : {}
ProxyTrustedEndpoints : {}
ProtocolProfile : WsFed-SAML
RequestSigningCertificate : {}
EncryptedNameIdRequired : False
SignedSamlRequestsRequired : False
SamlEndpoints : {Microsoft.IdentityServer.Management.Resources.SamlEndpoint}
SamlResponseSignature : AssertionOnly
SignatureAlgorithm : http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
TokenLifetime : 0
AllowedClientTypes : Public, Confidential
IssueOAuthRefreshTokensTo : AllDevices
RefreshTokenProtectionEnabled : True
RequestMFAFromClaimsProviders : False
ScopeGroupId :
ScopeGroupIdentifier :
DeviceAuthenticationMethod :
Name : passwork-sp
AutoUpdateEnabled : False
MonitoringEnabled : False
MetadataUrl :
ConflictWithPublishedPolicy : False
IssuanceAuthorizationRules :
IssuanceTransformRules :
DelegationAuthorizationRules :
LastPublishedPolicyCheckSuccessful :
LastUpdateTime : 01.01.1900 5:00:00
LastMonitoredTime : 01.01.1900 5:00:00
ImpersonationAuthorizationRules :
AdditionalAuthenticationRules :
AccessControlPolicyName : Permit everyone
AccessControlPolicyParameters :
ResultantPolicy : RequireFreshAuthentication:False
IssuanceAuthorizationRules:
{
Permit everyone
}
Get-ADFSRelyingPartyTrust -Name "passwork-sp" | Select-Object -ExpandProperty SamlEndpoints # Команда для вывода
Binding : POST
BindingUri : urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
Index : 0
IsDefault : False
Location : https://passwork.example.ru/api/v1/sso/acs
Protocol : SAMLAssertionConsumer
ResponseLocation :
Открыть Свойства созданного Отношения доверия проверяющей стороны:

В Свойствах перейти в Конечные точки и выполнить следующие действия:
- Добавить SAML;
- Тип конечной точки — Завершение сеанса SAML;
- Привязка — Redirect;
- Скопировать из Пассворка в — Настройки и пользователи → Настройки SSO — адрес URL выхода;
- Поместить в Доверенный URL-адрес — https://passwork.example.ru/api/v1/sso/sls
- Применить изменения и закрыть Свойства.