Мазмұнға өту
Құжаттама · Жұмыс кеңістіктері, эмитенттер және токендер

Негізгі ұғымдар

Usher-дегі барлығын дерлік бірнеше идея түсіндіреді: не қайда орналасқан, токендерді кім береді, адамдар қайда кіреді және әр токен қанша уақыт жарамды.

Жұмыс кеңістіктері, жобалар және орталар

  • Жұмыс кеңістігі — Usher Console ішіндегі сіздің командаңыз немесе компанияңыз. Оның мүшелері мен аудит журналы соған тиесілі.
  • Жоба — бір өнім: веб-қолданбаңыз немесе серіктестер порталы. Бір жұмыс кеңістігінде көп жоба болуы мүмкін.
  • Орта — жобаның бір жұмыс істеп тұрған көшірмесі, әдетте development және production. Адамдар, қолданбалар, кілттер мен параметрлер орталарда орналасады.

Жұмыс кеңістігі · Acme Ltd

Жоба · Web

  • development · wise-otter-42
  • production · acme

Жоба · Серіктестер порталы

  • development · calm-heron-17
  • production · acme-partners
Әр орта — өз пайдаланушылары, кілттері және Lobby беті бар жеке эмитент.

Орталар маңызды ештеңені бөліспейді. Әрқайсысының өз Postgres схемасы, өз қолтаңба кілттері және өз деректер кілтімен мөрленген өз құпиялары бар. Әзірлеу ортасында тіркелген адам өндірістік ортада жоқ, ал бір ортаның токенін ешқашан екіншісінің кілттерімен тексеруге болмайды.

Жұмыс кеңістігінің әкімшісі жобаның атауын енгізгеннен кейін оны «Шолу» бетінің соңында жоя алады. Ондағы әр орта бірден жойылады: адамдары, қолданбалары, кілттері мен параметрлері, сондай-ақ ол берген әр сеанс пен токен. Олардың мекенжайлары жауап беруді тоқтатады және ешқашан қайта берілмейді, сондықтан солардың біріне әлі сенетін қолданбаны басқа біреудің жобасы алдай алмайды.

Эмитенттер

Әр орта — тенанттар доменіндегі өз хосты бар жеке OpenID Connect эмитенті:

Эмитент
https://<handle>.usherid.com
  • Өндірістік орталардың өзіңіз таңдайтын идентификаторы бар: 3–32 кіші әріп, сан және жалғыз дефис, мысалы, компанияңыздың атауы. Бір рет пайдаланылған идентификатор ешқашан қайта берілмейді.
  • Әзірлеу орталары wise-otter-42 сияқты кездейсоқ идентификатор алады, оны ешкім брендпен шатастырмайды.

Эмитент орта жасалған кезде бекітіледі, өйткені ол қол қойған әр токен оны iss өрісінде атайды, ал оған сенетін әр қолданба сол мәнді тексереді.

Тенанттар домені Usher-дің өз доменінен (usheridentity.com) басқа тіркелетін домен, сондықтан тұтынушының кіру беттері Usher Console-мен ешқашан бір сайтта (same-site) болмайды, ал cookie файлдары тек хостқа арналған: браузер ортаның cookie файлдарын тек сол ортаға жібереді.

Lobby

Lobby — әр орта өз эмитентінде орналастыратын кіру беті. Қолданбаңыз адамдарды сонда жібереді; ол оларды кіргізіп, кері қайтарады.

  • Ол адамның бара жатқан қолданбасын «… қолданбасына өту» белгісінде әрқашан атайды.
  • Ол тек орта рұқсат ететін тәсілдерді ұсынады: кіру кілттері, электрондық поштаға келетін кодтар, сиқырлы сілтемелер, әлеуметтік желі аккаунттары (Google, GitHub, Microsoft, Apple) және құпиясөздер.
  • Ол екінші факторды талап ете алады: аутентификатор қолданбасы (резервтік кодтармен) немесе кіру кілті.
  • Ол бәріне ашық болуы немесе мекенжайлар мен домендердің қонақтар тізімімен шектелуі мүмкін.

Адамды қай өнім жіберсе де, ол бірдей көрінеді. Бұл әдейі жасалған: адамдар нақты Lobby қалай көрінетінін үйреніп, бет Lobby болмаса, оны байқайды.

Usher аккаунттары

Көп ортаның өз пайдаланушылары бар. Usher аккаунттары басқаша: бұл — адамды «Usher арқылы жалғастыру» мүмкіндігін ұсынатын әр қолданбаға кіргізетін бір аккаунт. Адамдар өз аккаунтын account.usheridentity.com мекенжайында басқарады.

Токендер және олардың жарамдылық мерзімі

ТокенӘдепкіОрнатуға болатын мәнНе үшін керек
Авторизация коды5 минутТұрақтыТокендерге бір рет айырбасталады. Бір реттік.
ID токені10 минут1–60 минутҚолданбаңызға кім кіргенін айтады. API шақыру үшін емес.
Қатынас токені10 минут1–60 минутAPI-ыңызға жіберіледі, ол оны тексереді.
Жаңарту токені30 күн1–90 күнЖаңа қатынас токендерін алады. Әр пайдаланған сайын ауысады. offline_access қажет.
Машинаның қатынас токені15 минут1–60 минутclient_credentials үшін: артында адам жоқ серверлерге.
Электрондық поштаға келген код, сиқырлы сілтеме10 минутТұрақтыБір рет кіру үшін. Кодты үш рет енгізуге болады.

Lobby сеанстарының да жарамдылық мерзімі бар: сеанс 7 күн пайдаланылмаса (1–30), және барлығы 30 күннен кейін (1–90) аяқталады. Электрондық пошта мекенжайы сияқты маңызды нәрсені өзгерту үшін соңғы 10 минут ішінде кірген болу керек.

Қолтаңба кілттері

Әдепкі бойынша токендерге RS256 арқылы қол қойылады; орта оның орнына ES256 немесе EdDSA пайдалана алады. Ашық кілттер ортаның jwks_uri мекенжайында жарияланады, сондықтан кітапханаларыңыз оларды алып, кілттер ауыстырылғанда жаңаларын қабылдайды.

Ауқымдар

АуқымҚолданбаңыз не алады
openidМіндетті. Адамның sub мәні бар ID токені.
profileАдамның аты мен суреті.
emailАдамның электрондық пошта мекенжайы және оның расталғаны.
offline_accessАдам кірген күйде қалуы үшін жаңарту токені.