Skip to main content

OAuth 2.0 - Client Credentials

სერვისის პროვაიდერს შეუძლია შექმნას ავტორიზაციის ვებ-სერვისი, რომელიც მხარს უჭერს OAuth 2.0 (D. Hardt, Ed., 2012) Client Credentials-ის გრანტის ტიპს.
ბანკი სერვის-პროვაიდერთან კომუნიკაციისთვის გამოიყენებს HTTP POST მეთოდს შემდეგი ფორმატით:

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

Content-Typerequiredapplication/x-www-form-urlencoded

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

grant_typerequiredclient_credentials

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

client_idrequired<client_id>

client_secretrequired<client_secret>

curl --location --request POST 'http://localhost:8080/ess-api/authenticate' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=client_id' \
--data-urlencode 'client_secret=client_secret'

Response

სერვის-პროვაიდერმა უნდა დააბრუნოს შემდეგი JSON პასუხი:

access_tokenstring

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

created_atstring

UNIX დროის შტამპი – მილიწამების რაოდენობა, რაც გავიდა 1970 წლის 1 იანვრიდან დღემდე UTC-ის დროის სარტყელით.

expires_innumber

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

token_typenumber

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

{
"access_token": "xx82194x21412xxx219124x678x888x2xxx1900xx",
"created_at": 1693236686855,
"expires_in": 300,
"token_type": "Bearer"
}

ამ უკანასკნელი სერვერის არსებობის შემთხვევაში, საქართველოს ბანკი ყოველი ოპერაციის გამოძახების დროს სერვის-პროვაიდერს გადასცემს შემდეგ Header-ის მნიშვნელობას:

AuthorizationrequiredBearer <token>

გადაეცემა „Bearer „ + „<token>“ (მაგ: „Bearer xx82194x21412xxx219124x678x888x2xxx1900xx“), სადაც token არის სერვის-პროვიადერის ავტორიზაციის სერვერის მიერ დაბრუნებული პარამეტრი.