Бэта

Распрацоўшчыкам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-токены валідуюцца, а не толькі дэкадуюцца
  • Няўдалы ўваход апрацоўваецца як няўдалы ўваход, а не як збой
  • Вы ведаеце, як перанесці карыстальнікаў, калі вырашыце сысці

Хочаце падключыццазагадзя?

Раскажыце, што вы будуеце і які сцэнарый выкарыстоўваеце. Раннія інтэграцыі дапамагаюць сфармаваць першую версію.