Keycloak поддерживает как OpenID Connect Connect (расширение OAuth 2.0), так и SAML 2.0.
Подготовка
Для использования Keycloak необходимо иметь:
- учётную запись администратора Keycloak
Ракета предоставляет вам:
- Client ID: пример "https://master.raketa.online",
- Master SAML proccessing Url": пример "https://master.raketa.online/sso/acs",
- Base Url": пример "https://master.raketa.online/sso/acs",
- Valid Redirect Uris": пример "https://master.raketa.online/*"
После всех необходимых настроек вам следует передать в Ракету:
- clientId идентификатор клиента в Ракете,
- entityId = 'https://keycloak.raketa.online/realms/Raketa',
- singleSignOnServiceUrl = url логина или входа в приложение SSO. Пример: 'https://keycloak.raketa.online/realms/Raketa/protocol/saml',
- singleLogoutServiceUrl = url для выхода из приложения. Пример: 'https://keycloak.raketa.online/realms/Raketa/protocol/saml',
- x509cert сертификат,
- certFingerprint,
- certFingerprintAlgorithm,
- customServiceProviderEntityId
Настройка приложения
1.Авторизуйтесь на сайте Keycloak
2.Перейдите во вкладку Clients. Нажмите кнопку "Create" для создания нового клиента.
2.В настройках создаваемого клиента укажите данные, полученные от Ракеты: Client ID, Master SAML proccessing Url, Base Url, Valid Redirect Uris. Пример заполнения ниже.
3.Проставьте значения on по флагам: Enabled, Include AuthnStatement, Sign Documents, Force POST Binding, Front Channel Logout. Пример заполнения ниже.