Użyj auth.tokens, gdy uwierzytelniony kontekst ma tworzyć albo wycofywać
tokeny KSeF dla automatyzacji. Przykłady zakładają, że masz już
uwierzytelnionego klienta auth.
Wygeneruj token
Wybierz najmniejszy zestaw uprawnień wymagany przez automatyzację, która będzie używać tokena.
token = auth.tokens.generate(
permissions=["invoice_read"],
description="nightly invoice export",
)
token_reference = token.reference_number
token_secret = token.tokengenerate() zwraca uchwyt GeneratedToken, gdy tylko KSeF udostępni
jednorazową wartość credentiala. Jego pole token jest sekretem, którego
automatyzacja użyje później do uwierzytelniania tokenem; uchwyt udostępnia
każde pole odpowiedzi generowania.
Domyślny repr i ogólne zrzuty Pydantic pomijają sekret. Odczytuj .token
tylko na granicy chronionego magazynu albo użyj to_sensitive_dict(), gdy
potrzebujesz jawnej mapy zawierającej sekret.
Po zapisaniu credentiala poczekaj jawnie, gdy następna operacja wymaga już aktywnego tokena:
status = auth.tokens.generate(...).wait(timeout=60.0, poll_interval=1.0)
# albo na uchwycie, który już masz:
status = token.wait(timeout=60.0, poll_interval=1.0)Timeout albo błąd transportu z wait() nie odrzuca zapisanego wcześniej
credentiala. Wznów sprawdzanie później przez
auth.tokens.get_status(reference_number=...).
Listuj tokeny
list() zwraca Pager: iteruj po nim, by dostać każdy token, wywołaj
.pages() dla list wielkości strony albo .first_page(), by wykonać jedno
żądanie. Nic nie jest pobierane, dopóki go nie zużyjesz.
Wszystkie tokeny
for item in auth.tokens.list():
print(item.reference_number, item.status, item.description)
# TokenInfo
# {
# "reference_number": "20260625-TOKEN-...",
# "description": "nightly invoice export",
# "requested_permissions": ["invoice_read"],
# "status": "active"
# }Jedna strona
first = auth.tokens.list().first_page()Strona po stronie
for page in auth.tokens.list().pages():
print(len(page), "tokens on this page")Sprawdź albo cofnij jeden token
Do późniejszych operacji cyklu życia użyj numeru referencyjnego tokena.
status = auth.tokens.get_status(reference_number="20260625-TOKEN-...")
# TokenStatusResponse
# {
# "reference_number": "20260625-TOKEN-...",
# "status": "active"
# }auth.tokens.revoke(reference_number="20260625-TOKEN-...")Zalecany przepływ
-
Wybierz najmniejszy zestaw uprawnień wymagany przez automatyzację.
-
Wygeneruj token w uwierzytelnionym kontekście, który ma być jego właścicielem.
-
Zapisz wartość tokena w magazynie sekretów, a numer referencyjny w metadanych.
-
Poczekaj na aktywację, gdy token musi być od razu gotowy do użycia.
-
Listuj albo sprawdzaj referencje tokenów podczas audytów.
-
Cofaj tokeny nieużywane, wygasłe albo naruszone.
Następne przepływy
- Uwierzytelnianie: Użyj wygenerowanego tokena KSeF jako jednej z metod uwierzytelniania SDK.
- Metody uwierzytelniania: Zrozum uwierzytelnianie tokenem KSeF, XAdES, certyfikatem TEST i profilami.
- Konfiguracja klienta: Utwórz klienta sync albo async przed użyciem gałęzi uwierzytelnionych.
