Перейти к содержанию

Прокси сервисов 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). Личные и организационные сервисы разделены, чтобы администратор мог управлять ими независимо.

Вызов прокси

GET https://gerege.mn/rp/eid/summary
Authorization: Bearer <access-токен пользователя от SSO>

В ответе — данные eID этого пользователя (полученные по учётным данным RP у SSO).

Выдача доступа

Сервис должен быть выдан приложению. Выдача выражается как scope сервиса (svc:eid-proxy / svc:eid-org-proxy) в разрешённых scope OAuth2-клиента — выдача сервиса приложению в админке добавляет этот scope.

На каждый запрос SSO:

  1. Выполняет интроспекцию токена (RFC 7662) → active + sub.
  2. Находит клиента по client_id из токена и проверяет, выдан ли ему scope сервиса (проверяется текущая выдача, поэтому выдача/отзыв действуют мгновенно).
  3. Определяет пользователя по sub и запрашивает данные у e-ID Gerege.
Условие Ответ
Нет токена / истёк 401
Приложению не выдан сервис 403
Сервис отключён в шлюзе 503
Успех 200 + данные

Как выдать?

Админ → Приложения → нужное приложение → отметить eid-proxy / eid-org-proxy → Сохранить. Приложение без выдачи получает 403. Подробности — в API-шлюзе.

Переключение во время работы

Оба сервиса зарегистрированы в каталоге API-шлюза и могут включаться/отключаться из админского интерфейса шлюза в рантайме (отключён → 503). Личный eID можно отключить, оставив организационный работающим (они независимы).