Прокси сервисов eID¶
Зарегистрированные приложения вызывают eID-сервисы Gerege SSO от имени своих пользователей через прокси. SSO определяет пользователя по subject из токена и получает данные, используя свои собственные учётные данные RP для eidmongolia.mn — поэтому приложениям никогда не нужны учётные данные eID.
Два сервиса¶
| Сервис | Публичный путь | Endpoints |
|---|---|---|
eid-proxy (личный) |
https://gerege.mn/rp/eid/* |
summary · certificates · devices · activity |
eid-org-proxy (организации) |
https://gerege.mn/rp/eid-org/* |
organizations · organizations/{regNo}/signers |
Все они только для чтения (GET). Личные и организационные сервисы разделены, чтобы администратор мог управлять ими независимо.
Вызов прокси¶
В ответе — данные eID этого пользователя (полученные по учётным данным RP у SSO).
Выдача доступа¶
Сервис должен быть выдан приложению. Выдача выражается как scope сервиса
(svc:eid-proxy / svc:eid-org-proxy) в разрешённых scope OAuth2-клиента —
выдача сервиса приложению в админке добавляет этот scope.
На каждый запрос SSO:
- Выполняет интроспекцию токена (RFC 7662) →
active+sub. - Находит клиента по
client_idиз токена и проверяет, выдан ли ему scope сервиса (проверяется текущая выдача, поэтому выдача/отзыв действуют мгновенно). - Определяет пользователя по
subи запрашивает данные у e-ID Gerege.
| Условие | Ответ |
|---|---|
| Нет токена / истёк | 401 |
| Приложению не выдан сервис | 403 |
| Сервис отключён в шлюзе | 503 |
| Успех | 200 + данные |
Как выдать?
Админ → Приложения → нужное приложение → отметить eid-proxy / eid-org-proxy → Сохранить. Приложение без выдачи получает 403. Подробности — в API-шлюзе.
Переключение во время работы¶
Оба сервиса зарегистрированы в каталоге API-шлюза и могут
включаться/отключаться из админского интерфейса шлюза в рантайме
(отключён → 503). Личный eID можно отключить, оставив организационный
работающим (они независимы).