Документация для разработчиков UNIT
Как подключить своё приложение к UNIT: вход по аккаунту UNIT, данные о человеке с его согласия и API сервисов.
UNIT — это школа, лаборатория и другие сервисы с одним аккаунтом на человека. Аккаунтами управляет UNIT ID (https://auth.labunit.ru) — сервер авторизации по стандартам OAuth 2.0 и OpenID Connect. Если ваше приложение умеет «Войти через Google», то и «Войти через UNIT ID» подключается так же: подойдёт любая библиотека OpenID Connect.
Что можно сделать
- Вход по аккаунту UNIT в сайт, бота, мобильное приложение или внутренний инструмент — без своих паролей и регистрации.
- Узнать, кто вошёл: постоянный идентификатор, имя, почту, роли и теги аккаунта (только то, что человек разрешил).
- Держать вход долго без повторного ввода пароля — токеном обновления.
- Показывать прогресс в школе — курсы и пройденные уроки (право
courses). - Сделать сервис UNIT — со своими аккаунтами, которые синхронизируются с UNIT ID (только для сервисов, одобренных администратором).
Адреса
| Что | Адрес |
|---|---|
| Издатель (issuer) | https://auth.labunit.ru |
| Описание сервера (discovery) | https://auth.labunit.ru/.well-known/openid-configuration |
| Авторизация | https://auth.labunit.ru/oauth/authorize |
| Токены | https://auth.labunit.ru/oauth/token |
| Данные о человеке | https://auth.labunit.ru/oauth/userinfo |
| Ключи подписи (JWKS) | https://auth.labunit.ru/oauth/jwks |
| Отзыв токена | https://auth.labunit.ru/oauth/revoke |
| Выход | https://auth.labunit.ru/logout |
Как устроен доступ
Приложение никогда не видит пароль человека. Оно отправляет его на UNIT ID, человек входит (паролем, с телефона или с кодом 2FA) и соглашается выдать приложению конкретные права. UNIT ID возвращает одноразовый код, приложение меняет его на токены на своём сервере и по токену получает данные.
Любое приложение, кроме сервисов UNIT, сначала проходит одобрение: вы подаёте заявку в разделе «Разработчикам», администратор UNIT её проверяет, и после этого вы выпускаете секрет. Человек в любой момент видит, каким приложениям дал доступ, и может его отозвать.