API używa OAuth 2.0 z PKCE do uwierzytelniania.
Uwaga: Uwierzytelnianie podstawowe jest przestarzałe i zostanie usunięte w jednej z przyszłych aktualizacji. Przejdź na OAuth 2.0.
client_idWskazówka: Większość bibliotek klienckich OAuth 2.0 obsługuje ten przepływ automatycznie. Wskaż swojej bibliotece endpoint metadanych serwera
/.well-known/oauth-authorization-server, aby skonfigurowała się automatycznie.
Wszystkie poniższe endpointy są podane względem https://api.attendium.com.
Utwórz aplikację OAuth w Attendium, aby uzyskać client_id oraz – w przypadku aplikacji poufnej – client_secret. Wystarczy to zrobić raz dla każdej aplikacji. Zobacz Aplikacje OAuth.
URI przekierowania muszą używać https lub – na potrzeby programowania lokalnego – http z adresem pętli zwrotnej (localhost, 127.0.0.1 lub ::1). Aplikacja publiczna może też używać prywatnego schematu URI w notacji odwróconej domeny, np. com.example.app:/oauth/callback.
Tworząc aplikację OAuth – w Attendium lub za pomocą dynamicznej rejestracji klientów – akceptujesz Warunki dla deweloperów w wersji opublikowanej w chwili jej utworzenia.
Wygeneruj weryfikator kodu i wyzwanie kodu PKCE:
A-Z, a-z, 0-9, -, ., _, ~) – to Twój code_verifiercode_challengeNastępnie przekieruj użytkownika do:
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
Po zalogowaniu się do Attendium użytkownik zostaje przekierowany z powrotem do Twojego redirect_uri z kodem autoryzacyjnym (code) i Twoją wartością state.
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
Aplikacja poufna musi się też uwierzytelnić – za pomocą uwierzytelniania podstawowego (client_secret_basic) lub wysyłając client_secret w treści żądania (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
Odpowiedź zawiera access_token i refresh_token.
Dołącz token dostępu w nagłówku Authorization:
curl -H "Authorization: Bearer your-access-token" \
-H "Content-Type: application/json" \
-d '{"query": "{ me { id } }"}' \
https://api.attendium.com/graphql
Odpowiedź z tokenem zawiera pole expires_in, które określa, jak długo token dostępu jest ważny. Użyj tokenu odświeżania, aby uzyskać nowy token dostępu, zanim obecny wygaśnie:
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token
Aplikacja poufna uwierzytelnia to żądanie w taki sam sposób jak przy wymianie kodu autoryzacyjnego.
Aplikacje, które konfigurują się na podstawie metadanych serwera – w tym asystenci AI łączący się przez MCP, zobacz Konfiguracja MCP – rejestrują się samodzielnie, wysyłając żądanie POST do /oauth2/register. Nie potrzebujesz tego, jeśli tworzysz aplikację OAuth w Attendium.
POST /oauth2/register
Content-Type: application/json
{
"redirect_uris": ["https://yourapp.example.com/callback"],
"client_name": "Moja aplikacja"
}
Aplikacja zarejestrowana w ten sposób nie jest widoczna w sekcji „Aplikacje OAuth”, więc nie można tam zmienić jej nazwy, URI przekierowania ani sekretu klienta.