احراز هویت

دریافت یا تمدید Access Token

POSThttps://api.parsget.com/oauth/token
بدون نیاز به Bearer token

برای دریافت توکن، grant_type را بر اساس روش ورود تعیین کنید. در Authorization Code، مقدار authorization_code را همراه با code و code_verifier بفرستید. در Device Flow، مقدار urn:ietf:params:oauth:grant-type:device_code را همراه با device_code بفرستید. برای تمدید توکن، از grant_type=refresh_token و Refresh Token فعلی استفاده کنید.

در پاسخ موفق، access_token را برای درخواست‌های API نگه دارید و مدت اعتبار آن را از expires_in، بر حسب ثانیه، بخوانید. پس از تمدید، Refresh Token قبلی باطل می‌شود؛ مقدار refresh_token پاسخ جدید را جایگزین کنید. Public client به client_secret نیاز ندارد. Confidential client باید آن را فقط از backend خود بفرستد.

در Device Flow، بین درخواست‌ها حداقل به اندازه interval ثانیه صبر کنید. authorization_pending یعنی کاربر هنوز دسترسی را تأیید نکرده است؛ درخواست را با همان فاصله تکرار کنید. با slow_down پنج ثانیه به فاصله درخواست‌های بعدی اضافه کنید. با access_denied یا expired_token پیگیری را متوقف کنید. هر Device Code فقط یک بار توکن می‌دهد.

Request body

application/x-www-form-urlencodedrequired
grant_type
stringrequired
authorization_code
client_id
stringoptionaluuid
Client ID
client_secret
stringoptional
Client Secret (تنها برای Confidential Client)
code
stringoptional
redirect_uri
stringoptionaluri
مقدار Redirect URI (باید دقیقاً با مقدار ارسال‌شده در درخواست Authorization Code یکسان باشد)
code_verifier
stringoptional
refresh_token
stringoptional
scope
stringoptional
device_code
stringoptional

Response schema

200Access Token و Refresh Token جدید
token_type
string
expires_in
integer
مدت اعتبار Access Token بر حسب ثانیه از زمان صدور.
access_token
string
refresh_token
string
برای دریافت Access Token جدید استفاده کنید. پس از تمدید، Refresh Token قبلی باطل می‌شود؛ مقدار تازه پاسخ را نگه دارید.
400درخواست یا کد ارسالی پذیرفته نشده است. در Device Flow، پاسخ authorization_pending یعنی هنوز منتظر تأیید کاربر هستید و slow_down یعنی باید فاصله بین درخواست‌ها را بیشتر کنید.
error
string
invalid_requestinvalid_clientinvalid_scopeinvalid_grantunsupported_grant_typeauthorization_pendingslow_downaccess_deniedexpired_token
error_description
string
message
string
پیام خطای استاندارد پروتکل OAuth
hint
string
راهنمای رفع خطای درخواست یا Scope در OAuth
401مشخصات کلاینت نامعتبر است یا Refresh Token متعلق به این کلاینت نیست.مشابه ساختار بالا