Zum Inhalt springen

Authentifizierung

Alle fachlichen Endpunkte der API erfordern ein Access-Token. Ausgenommen sind nur die Token-Endpunkte selbst.

Die Anmeldedaten stellt MEDIAN bereit. Aus Sicherheitsgründen wird das Passwort einmalig gegen ein kurzlebiges Token getauscht, das die weiteren Aufrufe autorisiert.

POST /api/v1/token/login
Content-Type: application/json
{
"username": "zuweiser",
"password": "..."
}

Die Antwort enthält ein Access-Token und ein Refresh-Token:

{
"tokenType": "Bearer",
"accessToken": "TOKEN",
"expiresIn": 3600,
"refreshToken": "TOKEN"
}

Die Token-Werte sind hier durch TOKEN ersetzt.

Schlägt die Anmeldung fehl, antwortet der Endpunkt mit 401 Unauthorized.

Das Access-Token gehört in den Authorization-Header jedes weiteren Aufrufs:

GET /api/v1/kliniken
Authorization: Bearer <Access-Token>

Fehlt der Header oder ist das Token abgelaufen, antwortet die API mit 401 Unauthorized.

Das Access-Token ist eine Stunde gültig. Vor Ablauf lässt es sich über das Refresh-Token erneuern, ohne erneute Passwortanmeldung:

POST /api/v1/token/refresh
Content-Type: application/json
{
"refreshToken": "..."
}

Die Antwort hat dieselbe Form wie beim Login und enthält ein frisches Paar aus Access- und Refresh-Token. Ist das Refresh-Token abgelaufen oder ungültig, antwortet der Endpunkt mit 401 Unauthorized; dann ist eine neue Anmeldung mit Benutzername und Passwort nötig.

GET /api/v1/token/status antwortet ohne Authentifizierung und eignet sich, um die Erreichbarkeit der API zu prüfen.