Підключити провайдер OpenID Connect
Скористайтеся цим посібником, якщо ваш провайдер ідентичності розмовляє OpenID Connect, а не SAML. Працює будь-який видавець, сертифікований для OIDC, — Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace та інші проходять ті самі кроки; відрізняється лише місце, де ваш провайдер показує ці значення.
Передумови
Розділ із назвою «Передумови»- провайдер OIDC, у якому ви можете створити клієнт, — занотуйте його
ідентифікатор клієнта та URL видавця (базу, під якою розміщено
документ
.well-known/openid-configuration), а також секрет клієнта, якщо клієнт конфіденційного типу (публічні PKCE-клієнти його не мають), - сервер Control Center, яким ви адмініструєте (власник сервера).
- Відкрийте Налаштування → Сервер → Єдиний вхід і перемкніться на OpenID Connect.
- Заповніть URL видавця, Ідентифікатор клієнта і Секрет клієнта (необов’язково), якщо провайдер його видав. Control Center виявляє кінцеві точки зі стандартного discovery-документа видавця — жодного налаштування під конкретного провайдера.
- У провайдера зареєструйте для цього клієнта редірект
https://<your-server>/oidc/callback. - Якщо ваші групи містяться в клеймі, відмінному від
groups, задайте назву Клейм груп; за бажанням зіставте групи з ролями (SSO ніколи не може надати роль власника). - Виберіть політику членства (автоматично додавати до кожного робочого простору або вимагати запрошення для кожного робочого простору), увімкніть Використовувати OpenID Connect для входу і натисніть Зберегти з’єднання.
- Натисніть Перевірити з’єднання — сервер отримує discovery-документ видавця й підтверджує його кінцеві точки, тож зелене спливаюче сповіщення означає, що працює все, крім обміну через браузер. Щоб перевірити ще й реєстрацію клієнта, скористайтеся інструментом перевірки нижче.
- Виконайте вхід: екран підключення у вебверсії показує Увійти через
OpenID Connect, або відкрийте
https://<your-server>/oidc/loginнапряму.
Твердження (email, ім’я, групи) ваш сервер читає з кінцевої точки токенів
видавця через TLS — браузер їх ніколи не надає, тож локальної перевірки
підпису JWT не задіяно. Клієнту має бути дозволено запитувати область
openid profile email — саме її й просить Control Center.
Оскільки єдине, що автентифікує твердження, — це канал TLS, URL видавця має
бути https: видавець у відкритому тексті дав би будь-якому зловмиснику на
шляху змогу масово підробляти ідентичності. http приймається лише для
видавців на loopback (localhost, 127.0.0.1, ::1) і тільки для локальної
розробки.
Перевірте свою конфігурацію на цій сторінці
Розділ із назвою «Перевірте свою конфігурацію на цій сторінці»Інструмент перевірки нижче працює у вашому браузері. Він отримує discovery-документ вашого видавця напряму, тож цей сайт його ніколи не бачить, і застосовує правила сервера: видавець на https, що відповідає документові, кінцеві точки на власному джерелі видавця, PKCE S256 і метод автентифікації токенів, потрібний вашому типу клієнта. Маючи ідентифікатор клієнта й адресу сервера, він може відкрити тестовий вхід, який показує, чи зареєстровано клієнт і його redirect URI. Секрет клієнта він ніколи не запитує.
Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.
Test sign-in at your provider
- Your provider's sign-in or consent page: the client ID and redirect URI are registered. You can close the tab.
- An error at your provider: it names what to fix, usually a redirect URI that is not registered or an unknown client ID.
- Your server's "Sign-in failed" page: also a pass. The provider accepted the request and sent you back; your server refuses it only because this page started the sign-in, not your server.