API, kimlik doğrulama için PKCE ile birlikte OAuth 2.0 kullanır.
UyarıTemel kimlik doğrulama kullanımdan kaldırılmıştır ve gelecekteki bir güncellemeyle tamamen kaldırılacaktır. Lütfen OAuth 2.0’a geçin.
client_id almak için bir kez OAuth uygulaması oluşturursunuzOAuth 2.0 istemci kitaplıklarının çoğu, kendilerine sunucu meta veri uç noktası /.well-known/oauth-authorization-server gösterildiğinde bu akışı otomatik olarak yürütür.
Aşağıdaki tüm uç noktalar https://api.attendium.com adresine görelidir.
client_id değerinizi ve gizli bir uygulamaysa client_secret değerinizi almak için Attendium’da bir OAuth uygulaması oluşturun. Bunu her uygulama için yalnızca bir kez yapmanız gerekir. Bkz. OAuth uygulamaları.
Yönlendirme URI’leri https ya da yerel geliştirme için geri döngü adresli (localhost, 127.0.0.1 veya ::1) http kullanmalıdır. Herkese açık bir uygulama, com.example.app:/oauth/callback gibi ters alan adı gösteriminde özel kullanım amaçlı bir URI şeması da kullanabilir.
Bir OAuth uygulaması oluşturduğunuzda (Attendium’da veya dinamik istemci kaydıyla), Geliştirici koşulları metnini o sırada yayımlanmış sürümüyle kabul etmiş olursunuz.
Bir PKCE kod doğrulayıcısı ve kod sınaması oluşturun:
A-Z, a-z, 0-9, -, ., _, ~ kullanarak) — bu, code_verifier değerinizdircode_challenge değerinizdirArdından kullanıcıyı şu adrese yönlendirin:
GET /oauth2/authorize?response_type=code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code_challenge=your-code-challenge
&code_challenge_method=S256
&state=random-state-value
Kullanıcı Attendium’a giriş yapar ve bir yetkilendirme code değeri ile state değerinizle birlikte redirect_uri adresinize geri yönlendirilir.
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier
Gizli bir uygulamanın kendi kimliğini de doğrulaması gerekir: ya temel kimlik doğrulamayla (client_secret_basic) ya da client_secret değerini istek gövdesinde göndererek (client_secret_post):
POST /oauth2/token
Authorization: Basic base64(your-client-id:your-client-secret)
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier
Yanıt bir access_token ve bir refresh_token içerir.
Erişim belirtecini Authorization üst bilgisine ekleyin:
curl -H "Authorization: Bearer your-access-token" \
-H "Content-Type: application/json" \
-d '{"query": "{ me { id } }"}' \
https://api.attendium.com/graphql
Belirteç yanıtı, erişim belirtecinin ne kadar süre geçerli olduğunu belirten bir expires_in alanı içerir. Erişim belirtecinin süresi dolmadan yeni bir erişim belirteci almak için yenileme belirtecini kullanın:
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token
Gizli bir uygulama bu istekte de kimliğini, yetkilendirme kodu değişimindekiyle aynı şekilde doğrular.
Kendilerini sunucu meta verilerinden yapılandıran uygulamalar (MCP üzerinden bağlanan yapay zekâ asistanları dahil; bkz. MCP kurulumu), /oauth2/register adresine bir POST isteği göndererek kendilerini kaydeder. OAuth uygulamanızı Attendium’da oluşturuyorsanız buna ihtiyacınız yoktur.
POST /oauth2/register
Content-Type: application/json
{
"redirect_uris": ["https://yourapp.example.com/callback"],
"client_name": "Uygulamam"
}
Bu şekilde kaydedilen bir uygulama “OAuth uygulamaları” altında listelenmez; bu nedenle adı, yönlendirme URI’leri ve istemci gizli anahtarı orada değiştirilemez.