Skip to main content

აუტენტიფიკაცია

View as Markdown
note

Sandbox გარემოში ავტორიზაცია უნდა განხორციელდეს მხოლოდ Sandbox API რეკვიზიტების გამოყენებით. Sandbox-ში გენერირებული ავტორიზაციის ტოკენები მოქმედებს მხოლოდ ამ გარემოში და არ უნდა იქნას გამოყენებული Live გარემოში. Sandbox ტოკენები რეალური ავტორიზაციის პროცესების სიმულაციას ახდენს, თუმცა არ იძლევა წვდომას რეალურ ფინანსურ ოპერაციებზე.

რა დამჭირდება გადახდის API-ს გამოსაყენებლად​

ონლაინ გადახდების API-ს გამოსაყენებლად საჭიროა აუტენტიფიკაცია HTTP Basic Auth-ის გამოყენებით. ამისთვის თქვენ დაგჭირდებათ, იცოდეთ სისტემაში შესასვლელი რეკვიზიტები4 (Credentials), რომელიც თითოეული ბიზნესისთვის უნიკალურია. რეკვიზიტები მოიცავს ორ პარამეტრს: client_id და client_secret, რომელიც გამოიყენება, როგორც username-ი და password-ი, ბიზნესის აუტენტიფიკაციისას.

როგორ გავიგოთ ბიზნესის სისტემაში შესასვლელი რეკვიზიტები​

მას შემდეგ, რაც კომპანია დარეგისტრირდება ბიზნესად საბანკო სისტემაში და შეავსებს ყველა საჭირო მონაცემს, მას მიენიჭება და გადაეცემა სისტემაში შესასვლელი რეკვიზიტები client_id და client_secret. რეკვიზიტები ბიზნესის უნიკალური მაიდენტიფიცირებელია. ამასთან, client_secret პაროლის მნიშვნელობის პარამეტრია - მისი სხვა პირისთვის გადაცემა, გასაჯაროება, დაუშვებელია. ამან შეიძლება ბიზნესისთვის საფრთხის ალბათობა მნიშვნელოვნად გაზარდოს! client_secret-ის ცვლილება ბიზნესის მიერ შეუძლებელია.

მეთოდის აღწერა​

მოცემული მეთოდის საშუალებით, ბიზნესი გადის აუტენტიფიკაციის პროცესს. გამოძახების შედეგად, ონლაინ გადახდების სერვერის მიერ ბრუნდება Bearer Token, რომელიც ყველა შემდგომი მეთოდის გამოძახებისთვის არის აუტენტიფიკაციისთვის აუცილებელი პარამეტრი.

Header-ის პარამეტრები​

Content-Typerequiredapplication/x-www-form-urlencoded

AuthorizationrequiredBasic <base64>

გადაეცემა „Basic „ + „<client_id>:<secret_key>“ მნიშვნელობა კოდირებული Base64 ფორმატში
(მაგ: „Basic ODI4Mjo3Njk3MDY0OTlmMDcwOWUyMzQ4NDU4NjNmOThiMjMxNA==“),
სადაც <client_id> და <secret_key> არის ბანკის მიერ ბიზნესისთვის გადაცემული, სისტემაში შესვლისთვის საჭირო, რეკვიზიტები.

Body-ს პარამეტრები​

grant_typerequiredclient_credentials

მნიშვნელობად გადაეცემა ფიქსირებული ტექსტი: client_credentials

curl -X POST 'https://oauth2-sandbox.bog.ge/auth/realms/bog/protocol/openid-connect/token' \
-u {client_id}:{client_secret} \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'

Response​

access_tokenstring

ავტორიზაციის სერვერის მიერ დაბრუნებული Token-ის მნიშვნელობა

token_typestring

Token-ის ტიპი (ბრუნდება ტექსტური მნიშვნელობა - Bearer)

expires_innumber

აბრუნებს რიცხვით მნიშვნელობას, თუ რამდენი წამის განმავლობაში არის აქტიური Token.

{
"access_token": "<JWT>",
"token_type": "Bearer",
"expires_in": 1634719923245
}