03 · RP API v3

Нэг session. Гурван урсгал.

Үйлчилгээ үзүүлэгч (Relying Party) session нээж, хэрэглэгчийн утсанд хүсэлт хүргэн, long-poll-оор хариу авна. v3 (одоогийн баримт 3.2.7) нь device-link урсгалыг нэмж, луйврын эсрэг хамгаалалтыг сайжруулсан. e-ID Mongolia-гийн RP-API ижил бүтэцтэй.

Урсгал

Луйврын эсрэг эрэмбээр

SK өөрөө урсгалуудыг ингэж эрэмбэлдэг: хамгийн хүчтэй нь хэрэглэгч өөрөө холбоосыг нээх, хамгийн сул нь зөвхөн push.

Хамгийн хүчтэй

Device link

QR (өөр төхөөрөмж) эсвэл Web2App / App2App (ижил төхөөрөмж). Session тухайн төхөөрөмжтэй уягдана. Нэргүй (anonymous) нэвтрэлт боломжтой.

Сайжруулсан

QR + push

Мэдэгдэж буй төхөөрөмж рүү push-ийг QR-тай хослуулах.

Хамгийн сул

Зөвхөн push

Регистрээр мэдэгдэл илгээх. Хэрэглэгч луйврыг өөрөө анзаарахаас хамаарна — тулгах код энд чухал.

Endpoint

v3-ийн гол замууд

МетодЗамЗориулалтe-ID MN
POST/authentication/device-link/anonymousQR / Web2App / App2App нэвтрэлтбий
POST/authentication/device-link/etsi/{id}Тодорхой иргэн, device linkбий
POST/authentication/notification/etsi/{id}Push нэвтрэлтбий
POST/authentication/notification/document/{doc}Push, баримтын дугаараарбий
POST/signature/device-link/…Гарын үсэг, device linkбий
POST/signature/notification/…Гарын үсэг, pushбий
POST/signature/certificate-choice/…Гэрчилгээ сонгохбий
GET/session/{sessionID}?timeoutMs=Long-poll, ≤ 120 сбий
POST/authentication/qr«Миний QR» — иргэн мэдээллээ JWS-ээр хуваалцахзөвхөн MN

Smart-ID: rp-api.smart-id.com/v3/, demo sid.demo.sk.ee/smart-id-rp/v3/. e-ID Mongolia: rp.eidmongolia.mn, discovery ca.eidmongolia.mn/.well-known/eid.

Протокол

ACSP_V2 ба RAW_DIGEST

  • ACSP_V2 (нэвтрэлт): RP 64 байт санамсаргүй rpChallenge илгээнэ. Гарын үсэг зурах өгөгдөл нь smart-id|ACSP_V2|serverRandom|rpChallenge|userChallenge|rpName|…|interactions|flowType гэх мэт талбарын нэгдэл.
  • RAW_DIGEST_SIGNATURE (гарын үсэг): RP баримтын hash-ыг урьдчилан тооцож илгээнэ. Баримт өөрөө дамжихгүй.
  • Алгоритм: v3 RSASSA-PSS-г зөвлөнө, SHA-2 ба SHA-3. PKCS#1 v1.5 уламжлалт форматад.
  • v3.2.0-оос 471/472 кодыг 404 + RFC 9457 алдааны дэлгэрэнгүйгээр сольж, HTTP/2 нэмсэн.
Device link

Холбоосын бүтэц

deviceLinkBase?
deviceLinkType=QR|Web2App|App2App
&elapsedSeconds=n(зөвхөн QR)
&sessionToken=…
&sessionType=auth|sign|cert
&version=1.0
&lang=…
&authCode=HMAC-SHA256(sessionSecret, payload)
  • QR-ыг backend дээр секунд тутам дахин үүсгэнэ.
  • sessionSecret хэзээ ч frontend-д хүрэхгүй.
  • Нэвтрэлт нэргүй байж болно, гарын үсэг болохгүй.
Интеракц ба SDK

Утсан дээр юу харагдах вэ

ТөрөлТекстDevice linkPush
displayTextAndPIN60 тэмдэгт✓✓
confirmationMessage200 тэмдэгт✓✓
…AndVerificationCodeChoice200 тэмдэгт, 3 кодоос сонгох—✓
ХэлSmart-IDe-ID Mongolia
JavaАлбан ёсны, v3—
TypeScript / NodeОлон нийтийн, v3Албан ёсны, бүрэн + товч
GoОлон нийтийн, v2Албан ёсны, бүрэн
.NETОлон нийтийн, v2PAdES · QR хэсэгчлэн
PHPАлбан ёсны, v2 нэвтрэлт—