Verwendung eines Refresh-Tokens
Der Refresh-Token-Ablauf ist eine sicherere Methode zur Autorisierung von API-Anfragen. Anstatt langlebige Zugangsdaten direkt zu verwenden, tauschen Sie ein Refresh-Token gegen ein kurzlebiges Access-Token aus. Sobald dieses Access-Token abläuft, wiederholen Sie den Austausch.
Beachten Sie, dass das Refresh-Token nicht allein zur Autorisierung von API-Anfragen verwendet werden kann; es muss immer zuerst gegen ein Refresh-Token ausgetauscht werden.
Um diesen Ablauf zu verwenden, wählen Sie beim Erstellen eines Tokens in Admin → Developer die Option refresh token. Bei der Erstellung erhalten Sie drei Werte:
-
Client ID – identifiziert Ihre Integration
-
Client secret – authentifiziert die Austauschanfrage
-
Refresh token – wird zum Abrufen von Access-Tokens verwendet
Austauschen eines Refresh-Tokens gegen ein Access-Token
Senden Sie eine POST-Anfrage an den Token-Endpunkt von Altium Identity.
Token Endpoint
Realm |
URL |
Altium 365 |
|
Altium 365 Gov Cloud |
|
Request Body (application/x-www-form-urlencoded)
grant_type=refresh_token
refresh_token={refresh-token}
client_id={client-id}
client_secret={client-secret}
Response
{
"access_token": "...",
"expires_in": 14400,
"token_type": "Bearer",
"refresh_token": "...",
"scope": "..."
}
Verwenden Sie das access_token aus der Antwort, um API-Anfragen zu autorisieren. expires_in wird in Sekunden angegeben und gibt an, wie lange das Access-Token gültig ist.
curl Example:
curl -X POST https://auth.altium.com/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=refresh_token" \
--data-urlencode "refresh_token={refresh-token}" \
--data-urlencode "client_id={client-id}" \
--data-urlencode "client_secret={client-secret}"
Integration in Ihre Anwendung
Ein typisches Vorgehen für dauerhaft laufende Integrationen:
-
Speichern Sie das Refresh-Token, die Client-ID und das Client-Secret sicher (z. B. in Umgebungsvariablen oder einem Secrets-Manager).
-
Rufen Sie beim Start den Token-Endpunkt auf, um ein neues Access-Token abzurufen.
-
Verwenden Sie das Access-Token für API-Anfragen. Speichern Sie es bis zu seinem Ablauf im Cache.
-
Wenn es abläuft (HTTP-Status
401 Unauthorizedoder200 OKmit dem FehlercodeAuthExpiredTokenin der GraphQL-Antwort), tauschen Sie das Refresh-Token erneut aus, um ein neues Access-Token zu erhalten.
Refresh-Tokens laufen nach der bei der Erstellung konfigurierten Gültigkeitsdauer ab (bis zu 1 Jahr). Sobald ein Refresh-Token abgelaufen ist, müssen Sie unter Admin → Developer ein neues erstellen.
Siehe auch