Модель
у шести рядках
- Стандарт
- OpenID Connect
- Потік
- Код авторизації з PKCE (S256)
- Вхід
- На боці Noir ID, насамперед ключі доступу
- Ідентифікатор
- Попарний, один на клієнта
- Зворотний виклик
- Точні URL, без масок
- Права доступу
- Залишаються у вашому продукті
Який сценарій
у вашого застосунку
Вебзастосунок із сервером
Ваш сервер виконує потік із кодом і зберігає токени. Браузер тримає лише захищений cookie сесії, який сам по собі нічого не означає.
Мобільний або десктопний застосунок
Відкривайте вхід у системному браузері, ніколи не у вбудованому WebView, і отримуйте результат на зареєстровану адресу зворотного виклику.
Сервіс до сервісу
Машинні клієнти використовують потік Client Credentials з власними короткочасними токенами.
Чотири кроки
до робочого входу
Зареєструйте клієнта
Надішліть нам назву застосунку та його точні адреси зворотного виклику. Ви отримаєте ідентифікатор клієнта (client ID), а якщо застосунок має сервер, ще й секрет.
Спрямуйте людей на вхід
Перенаправте на ендпоінт авторизації з вашим client ID, адресою зворотного виклику, scope, випадковим state і PKCE challenge.
Обробіть зворотний виклик
Перевірте state, обміняйте код, передавши PKCE verifier, і валідуйте ID-токен: підпис, видавця, аудиторію й строк дії.
Збережіть ідентифікатор
Прив’яжіть запис користувача до ідентифікатора, який повертає Noir ID. Для вашого клієнта він не змінюється, а поза ним нічого не означає.
Як виглядає запит
Значення в кутових дужках ваші. Видавець (issuer) розміщений за адресою https://id.noir.bzh: беріть ендпоінти з його документа discovery, а не прописуйте їх у коді.
GET <authorization_endpoint>
?response_type=code
&client_id=<your client id>
&redirect_uri=https://app.example/callback
&scope=openid
&state=<random value>
&code_challenge=<base64url(sha256(verifier))>
&code_challenge_method=S256Чого Noir ID не робитиме
- Потоки password та implicit
- Адреси зворотного виклику з масками або частковим збігом
- Вхід, вбудований у вашу сторінку чи в iframe
- Відкрита реєстрація клієнтів без перевірки
- Вирішувати, що користувачеві можна робити у вашому продукті
Перед запуском
- Кожну адресу зворотного виклику зареєстровано точно так, як її використовують
- State і PKCE перевіряються під час кожного входу
- ID-токени валідуються, а не лише декодуються
- Невдалий вхід обробляється як невдалий вхід, а не як збій
- Ви знаєте, як перенесете користувачів, якщо вирішите піти
Хочете підключитисязаздалегідь?
Розкажіть, що ви створюєте і який сценарій використовуєте. Ранні інтеграції допомагають сформувати першу версію.