OAuth 2.1
Belirteç al
Form gövdesi (application/x-www-form-urlencoded). authorization_code: kod + code_verifier → 1 saatlik erişim belirteci (mcp_…) + 60 günlük yenileme belirteci (mcpr_…). refresh_token: her yenilemede yeni çift verilir, eskisi düşer. Kod yalnız bir kez kullanılır; ikinci kullanım o izinden verilmiş belirteçleri iptal eder.
Yetkilendirme
Kimlik doğrulama gerekmez.
Gövde application/x-www-form-urlencoded
grant_typestringzorunluAkış.
Değerler
authorization_coderefresh_tokencodestringisteğe bağlıYetki kodu.
redirect_uristringisteğe bağlıYetkilendirmedeki adres.
code_verifierstringisteğe bağlıPKCE doğrulayıcısı.
refresh_tokenstringisteğe bağlıYenileme belirteci.
client_idstringzorunluİstemci kimliği.
client_secretstringisteğe bağlıGizli anahtarlı istemcilerde.
İstek
curl https://ornek.solk.app/oauth/token \
-d grant_type=authorization_code \
-d code=Zx8… \
-d redirect_uri=https://uygulamaniz.com/oauth/callback \
-d client_id=crm_Jq8w… \
-d code_verifier=$VERIFIERconst res = await fetch("https://ornek.solk.app/oauth/token", {
method: "POST",
body: new URLSearchParams({
grant_type: "authorization_code",
code: "Zx8…",
redirect_uri: "https://uygulamaniz.com/oauth/callback",
client_id: "crm_Jq8w…",
code_verifier: "verifier"
}),
});
const data = await res.json();import requests
r = requests.post("https://ornek.solk.app/oauth/token", data={
"grant_type": "authorization_code",
"code": "Zx8…",
"redirect_uri": "https://uygulamaniz.com/oauth/callback",
"client_id": "crm_Jq8w…",
"code_verifier": "verifier",
})
print(r.json())Yanıt
{
"access_token": "mcp_uBprY6…",
"expires_in": 3600,
"refresh_token": "mcpr_AXksm…",
"scope": "crm.read crm.write",
"token_type": "Bearer"
}