Cennik
Aktualności
Zarejestruj się
Zaloguj się
CennikO nasSkontaktuj się z namiOpinie
Zaloguj sięZarejestruj sięNie pamiętasz hasła?
Warunki korzystania z usługiPolityka prywatnościWarunki dla deweloperówBezpieczeństwoUstawienia prywatnościRODO
AktualnościFunkcjeCentrum pomocyStatus systemu
Aplikacja iOSAplikacja AndroidAplikacja webowa

Uwierzytelnianie

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.

Jak to działa

  1. Jednorazowo tworzysz aplikację OAuth, aby uzyskać client_id
  2. Przekierowujesz użytkownika do endpointu autoryzacji, gdzie się zaloguje
  3. Otrzymujesz kod autoryzacyjny, który wymieniasz na token dostępu i token odświeżania
  4. Używasz tokenu dostępu do wysyłania żądań do API

Wskazó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

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.

Autoryzuj

Wygeneruj weryfikator kodu i wyzwanie kodu PKCE:

  1. Utwórz losowy ciąg znaków (43–128 znaków spośród A-Z, a-z, 0-9, -, ., _, ~) – to Twój code_verifier
  2. Oblicz skrót SHA-256 weryfikatora i zakoduj go w base64url – to Twój code_challenge

Nastę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.

Wymień kod na tokeny

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.

Wysyłaj żądania do API

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

Odśwież token dostępu

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.

Dynamiczna rejestracja klientów

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.

Dalsza lektura

  • OAuth 2.0 — oauth.net
  • PKCE — RFC 7636
  • Dynamiczna rejestracja klientów — RFC 7591
Aplikacje OAuth