Authentifizierung an der API
Jede Anfrage an die API läuft im Namen eines Benutzers des invoiceR. Die Anwendung hat genau die Berechtigungen, die dieser Benutzer über seine Rollen hat.
Der invoiceR kennt zwei Arten, sich an der API anzumelden:
| Verfahren | Header | Gültigkeit | Geeignet für |
|---|---|---|---|
| Zugriffstoken | Authorization: Bearer <token> | kurz, wird bei jeder Anmeldung neu ausgestellt | Anwendungen, die Benutzername und Passwort kennen dürfen |
| Persönliches Zugriffstoken (PAT) | Authorization: PAT <token> | bis zum gewählten Ablaufdatum, Standard ein Jahr | Dienste und Skripte, die ohne Passwort laufen sollen |
Zugriffstoken mit Benutzername und Passwort
Abschnitt betitelt „Zugriffstoken mit Benutzername und Passwort“-
Sende Benutzername (oder E-Mail-Adresse) und Passwort an
POST /api/TokenAuth/Authenticate:POST https://<server>/api/TokenAuth/AuthenticateContent-Type: application/json{ "userNameOrEmailAddress": "api-benutzer", "password": "<passwort>" } -
Die Antwort enthält im Feld
result.accessTokendas Zugriffstoken. -
Gib das Token bei jeder weiteren Anfrage im Header mit:
Authorization: Bearer <accessToken>
Läuft das Token ab, meldest du dich erneut an.
Persönliches Zugriffstoken (PAT)
Abschnitt betitelt „Persönliches Zugriffstoken (PAT)“Ein persönliches Zugriffstoken gehört zu genau einem Benutzer. Eine Anwendung, die es verwendet, handelt mit den Rechten dieses Benutzers, ohne sein Passwort zu kennen.
PAT erstellen
Abschnitt betitelt „PAT erstellen“Ein PAT erstellst du über die API, angemeldet als der Benutzer, dem das Token gehören soll:
-
Melde dich als dieser Benutzer an (zum Beispiel wie oben mit Benutzername und Passwort, oder in der Swagger UI).
-
Rufe
POST /api/services/app/Authentication/CreatePersonalAccessTokenauf und gib an, bis wann das Token gültig sein soll:POST https://<server>/api/services/app/Authentication/CreatePersonalAccessTokenAuthorization: Bearer <accessToken>Content-Type: application/json{ "validUntil": "2027-10-31T00:00:00Z" }Lässt du
validUntilweg, ist das Token ein Jahr gültig. Ein Datum in der Vergangenheit lehnt der invoiceR ab. -
Die Antwort enthält das Token im Klartext. Speichere es sofort an einem sicheren Ort, zum Beispiel im Passwort-Tresor oder in der Konfiguration der Anwendung.
PAT verwenden
Abschnitt betitelt „PAT verwenden“Gib das Token bei jeder Anfrage im Header Authorization mit dem Präfix PAT mit:
GET https://<server>/api/services/app/Session/GetCurrentLoginInformationsAuthorization: PAT <token>Der invoiceR lehnt das Token ab, wenn es abgelaufen ist oder wenn der Benutzer oder der Mandant deaktiviert oder gelöscht ist. Ein abgelaufenes Token ersetzt du durch ein neues.
