Skip to main content

Холболтын заавар /Web portal/

1.Сервис дуудах жишээ

  • Client ID - Нийтэд ил байж болно. Таны системийг таних ID дугаар.
  • Client Secret Key - Нийтэд ил байж болохгүй, аюулгүй байдлыг хангаж буй цор ганц нууц түлхүүр.
  • Redirect URI - OAuth серверт ирсэн хүсэлтийн хариуг тус Redirect URI хаяг руу буцаана. OAuth системд холбогдохыг хүссэн байгууллага нь тус хаягийг хүсэлт гарган солиулах боломжтой.

“OAuth” системээс иргэний мэдээллийг авах сервисүүдийг дараах өгөгдлийн бүтцийн дагуу тодорхойлно. Сервисийн мэдээллийг ХУР Төрийн мэдээлэл солилцооны системийн гарын авлага цахим хуудаснаас авна уу.

service_structure = [
    {
        'services' : [
            "WS100101_getCitizenIDCardInfo",                                         // сервис код
        ],
        'wsdl' : "https://xyp.gov.mn/citizen-1.3.0/ws?WSDL",                  // wsdl зам
                                                                                                             // Оролтын параметргүй дуудагддаг сервис
    },
    {
        'services' : [
            "WS100201_getPropertyInfo",                                                  // сервис код
        ],
        'wsdl' : "https://xyp.gov.mn/property-1.3.0/ws?WSDL",               // wsdl зам
        'params': {                                                                                     // Оролтын параметртэй дуудагддаг сервис бол
            "WS100201_getPropertyInfo": {                                                // сервис код
                'propertyNumber': 'value',                                                    // Оролтын параметрууд
            },
        }
    }
]

Дээрх өгөгдлийг “JSON” форматанд оруулан, үр дүнг “base64” энкод хийж хадгална. Үр дүн нь:


Параметрийн тайлбар:

  • response_type - Тогтмол "code" байна.
  • client_id - "OAuth" системээс илгээсэн "Client ID".
  • redirect_uri - "OAuth" системээс илгээсэн "Redirect URI".
  • scope - base64_encode(json_encode(service_structure)) утга.
  • state - Клиент системээс үүсгэгдсэн дахин давтагдашгүй утга. Хүсэлт бүрт өөр байна. (CSRF халдлагаас хамгаалахад хэрэглэгдэнэ.)
  • login_type - "OTP", "signature", "bank" гэсэн 3 хувилбартай. Default утга нь "OTP" байна. Заавал илгээх шаардлагагүй (шинэ option).

Үүний дараа иргэнийг баталгаажуулан таних нэвтрэх хуудас буцах ба иргэн нэвтрэлтийн төрөл (Тоон гарын үсэг, SMS OTP) - ийг сонгож өөрийгөө баталгаажуулан нэвтэрнэ. “Authorization Request” нь “OAuth” серверт амжилттай шалгагдвал иргэнээс мэдээллээ өгөхийг зөвшөөрч буй эсэхийг лавлан асууна.

1.2 Access Grant Response (HTTPS Redirect)

Иргэн мэдээллээ өгөхийг зөвшөөрвөл “OAuth” сервер нэг удаагийн “grant code” үүсгэж, “state” параметрээр ирсэн утгын хамт үйлчилгээг олгогч систем рүү (HTTPS Redirect) буцаана.

“Authorization Request”-ээр илгээгдсэн “state” параметрийн утга, “Access Grant Response” буцаалтаар ирж буй “state” параметрийн утга таарахгүй бол үйлчилгээг зогсоох шаардлагатай. Энэ нь халдлагын шинжтэй үйлдэл юм.

1.3. Creds And Access Grant