UNIVERSE CONNECT

Вход по паспорту Universe24

Universe ID работает как OpenID Connect-провайдер: сервис отправляет гражданина на подтверждение, получает одноразовый authorization code и создаёт свою локальную сессию по стабильному Citizen ID.

1Ваш сервиссоздаёт state + PKCE
→
2Universe IDPasskey / смартфон / consent
→
3Ваш callbackcode → tokens → userinfo

Стандартные адреса

OIDC Authorization Code + PKCE
Issuerhttps://id.universe24.online
Discoveryhttps://id.universe24.online/.well-known/openid-configuration
Authorizehttps://id.universe24.online/sso/authorize
Tokenhttps://id.universe24.online/sso/token
UserInfohttps://id.universe24.online/sso/userinfo
JWKShttps://id.universe24.online/sso/jwks.json

Что получает сервис

{
  "sub": "UC-...",
  "citizen_id": "UC-...",
  "name": "Гражданин",
  "passport": "UNI-MW-26-....-....",
  "passport_version": 2,
  "passport_status": "active",
  "passport_verified": true,
  "galaxy": "MW",
  "passport_verify_url": "https://id.universe24.online/verify/..."
}

Поле sub — постоянный идентификатор гражданина. Используйте его как внешний ключ пользователя. Не используйте номер паспорта как ID аккаунта: паспорт может быть перевыпущен.

Scopes

openidCitizen ID. Обязателен.
profileОтображаемое имя.
universe_passportДействующий паспорт, версия, галактика и ссылка проверки.
universe_profileДополнительные поля паспорта. Разрешается клиенту отдельно.

Universe Approval

0.6.0

Confidential-клиенты с отдельной capability universe_approval могут запросить у гражданина подтверждение конкретного действия через его существующий Passkey.

CreatePOST https://id.universe24.online/api/v1/approvals
ResultGET https://id.universe24.online/api/v1/approvals/{approval_id}
Approval JWKShttps://id.universe24.online/api/v1/approval/jwks.json

Поддерживаются SIGN, DECLINE, APPROVE, ACKNOWLEDGE и RECEIVE. Challenge связан с resource ID/version/SHA-256. Подробности: docs/UNIVERSE_APPROVAL.md.

Universe OS Launch Handoff

0.6.0

Universe OS может получить короткоживущий одноразовый handoff в заранее разрешённое target-приложение. OS не получает target access token: приложение само redeem-ит code у Universe ID.

Create handoffPOST https://id.universe24.online/sso/launch/handoff
RedeemPOST https://id.universe24.online/sso/launch/token
universe_launch_sourceSource может создавать handoff только в свой allowlist target client IDs.
universe_launch_targetTarget принимает handoff только на отдельный exact-match launch redirect URI.

Код живёт 45 секунд и одноразовый. Полная схема: docs/OS_LAUNCH_HANDOFF.md.

Полная пошаговая инструкция и готовый пример FastAPI входят в дистрибутив: docs/SSO_INTEGRATION.md и examples/fastapi_sso_client.py.