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
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
).
- RESPONSE
{
"access_token": "xx82194x21412xxx219124x678x888x2xxx1900xx",
"created_at": 1693236686855,
"expires_in": 300,
"token_type": "Bearer"
}
ამ უკანასკნელი სერვერის არსებობის შემთხვევაში, საქართველოს ბანკი ყოველი ოპერაციის გამოძახების დროს სერვის-პროვაიდერს გადასცემს შემდეგ Header-ის მნიშვნელობას:
AuthorizationrequiredBearer <token>
გადაეცემა „Bearer „ + „<token>“ (მაგ: „Bearer xx82194x21412xxx219124x678x888x2xxx1900xx“),
სადაც token
არის სერვის-პროვიადერის ავტორიზაციის სერვერის მიერ დაბრუნებული პარამეტრი.