Бета

РозробникамNoir ID на вашому сайті.

Noir ID використовує стандартний OpenID Connect. Ваш сайт спрямовує людей на готову сторінку входу й отримує назад ідентифікатор. Поки триває бета, кожного клієнта ми реєструємо самі.

Модель
у шести рядках

Стандарт
OpenID Connect
Потік
Код авторизації з PKCE (S256)
Вхід
На боці Noir ID, насамперед ключі доступу
Ідентифікатор
Попарний, один на клієнта
Зворотний виклик
Точні URL, без масок
Права доступу
Залишаються у вашому продукті

Який сценарій
у вашого застосунку

  • Вебзастосунок із сервером

    Ваш сервер виконує потік із кодом і зберігає токени. Браузер тримає лише захищений cookie сесії, який сам по собі нічого не означає.

  • Мобільний або десктопний застосунок

    Відкривайте вхід у системному браузері, ніколи не у вбудованому WebView, і отримуйте результат на зареєстровану адресу зворотного виклику.

  • Сервіс до сервісу

    Машинні клієнти використовують потік Client Credentials з власними короткочасними токенами.

Чотири кроки
до робочого входу

  1. Зареєструйте клієнта

    Надішліть нам назву застосунку та його точні адреси зворотного виклику. Ви отримаєте ідентифікатор клієнта (client ID), а якщо застосунок має сервер, ще й секрет.

  2. Спрямуйте людей на вхід

    Перенаправте на ендпоінт авторизації з вашим client ID, адресою зворотного виклику, scope, випадковим state і PKCE challenge.

  3. Обробіть зворотний виклик

    Перевірте state, обміняйте код, передавши PKCE verifier, і валідуйте ID-токен: підпис, видавця, аудиторію й строк дії.

  4. Збережіть ідентифікатор

    Прив’яжіть запис користувача до ідентифікатора, який повертає 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-токени валідуються, а не лише декодуються
  • Невдалий вхід обробляється як невдалий вхід, а не як збій
  • Ви знаєте, як перенесете користувачів, якщо вирішите піти

Хочете підключитисязаздалегідь?

Розкажіть, що ви створюєте і який сценарій використовуєте. Ранні інтеграції допомагають сформувати першу версію.