Ten podklient obsługuje:
- challenge (
/auth/challenge) - rozpoczęcie auth (XAdES lub token KSeF)
- polling statusu
- redeem tokenów (
accessToken/refreshToken) - refresh
accessToken
Workflow: Uwierzytelnianie.
Pobiera listę aktywnych sesji uwierzytelnienia.
Parametry:
page_size– rozmiar stronycontinuation_token– token kolejnej strony (zwyklecontinuationTokenz odpowiedzi)access_token– opcjonalnie; w przypadku braku biblioteka używa tokena ustawionego wKsefClient
Unieważnia „bieżącą” sesję auth (dla podanego tokena).
Unieważnia konkretną sesję auth po reference_number.
Endpoint: POST /auth/challenge (bez accessToken).
Zwraca JSON z polami m.in.:
challengeclientIptimestamptimestampMs
Challenge jest ważny 10 minut. W przypadku dłuższego procesu podpisu (np. HSM) należy pobrać nowe wyzwanie.
submit_xades_auth_request(signed_xml, verify_certificate_chain=None, enforce_xades_compliance=False)
Endpoint: POST /auth/xades-signature (bez accessToken).
signed_xml– podpisany XMLAuthTokenRequestverify_certificate_chain– opcjonalna weryfikacja łańcucha certyfikatów (przydatne w TE)enforce_xades_compliance– gdyTrue, dodaje nagłówekX-KSeF-Feature: enforce-xades-compliance(przydatne do wcześniejszej walidacji reguł XAdES na DEMO/PROD)
Zwraca (202) obiekt inicjujący auth, m.in. referenceNumber i authenticationToken.
Endpoint: POST /auth/ksef-token (bez accessToken).
request_payload to JSON w formacie oczekiwanym przez KSeF. Payload może zostać zbudowany przez:
ksef_client.services.build_ksef_token_auth_request()- albo w ogóle użyć
AuthCoordinator.authenticate_with_ksef_token()
Endpoint: GET /auth/{referenceNumber}
Istotne: w nagłówku Authorization: Bearer ... przekazywany jest authentication token (nie accessToken).
Zwraca status operacji (pole status.code ma praktyczne znaczenie przy pollingu).
Endpoint: POST /auth/token/redeem
Zwraca parę tokenów: accessToken i refreshToken.
Ważne: redeem jest jednorazowe dla danego authenticationToken. Ponowne wywołanie dla tego samego tokena kończy się błędem.
Endpoint: POST /auth/token/refresh
Refresh token jest przekazywany w Authorization: Bearer <refreshToken>. Metoda refresh_access_token() mapuje to poprawnie; ręczne ustawianie nagłówka Authorization nie jest wymagane.