Hallo Katherine,
Die Meldung „Token Expired“ nach etwa 60 Minuten deutet darauf hin, dass das Zugriffstoken abgelaufen ist und die Anwendung kein neues Token automatisch anfordert. Wenn Sie Microsoft Entra ID zur Authentifizierung verwenden, implementieren Sie die Microsoft Authentication Library (MSAL) und verwenden Sie acquireTokenSilent() zur automatischen Erneuerung, bevor API-Anfragen mit einem abgelaufenen Token ausgeführt werden.
const request = {
scopes: ["api://YOUR-API-CLIENT-ID/access_as_user"],
account: msalInstance.getActiveAccount()
};
try {
const response = await msalInstance.acquireTokenSilent(request);
const accessToken = response.accessToken;
// Verwenden Sie das neue Token für API-Anfragen.
} catch (error) {
if (error instanceof msal.InteractionRequiredAuthError) {
await msalInstance.acquireTokenRedirect(request);
} else {
throw error;
}
}
Ersetzen Sie den Beispiel-Scope durch die tatsächlich für Ihre API registrierten Berechtigungen und stellen Sie sicher, dass ein aktives Benutzerkonto gesetzt ist. MSAL prüft zunächst den Token-Cache und fordert bei Bedarf ein neues Zugriffstoken an, ohne normalerweise eine erneute Benutzeranmeldung zu verlangen.
Beachten Sie, dass Single-Page-Anwendungen (SPAs) in Microsoft Entra ID Refresh Tokens mit einer begrenzten Lebensdauer von 24 Stunden erhalten; blockierte Drittanbieter-Cookies können die stille Authentifizierung zusätzlich verhindern. Prüfen Sie deshalb die Browser-Cookie-Richtlinien sowie die Einstellungen für Conditional Access, wenn die automatische Erneuerung fehlschlägt.
Die offizielle Dokumentation finden Sie unter MSAL.js: Token-Lebensdauer und Erneuerung und Zugriffstoken für Single-Page-Anwendungen abrufen.
Ich hoffe, Sie haben hier eine klare Sicht auf die Situation. Wenn es hilft, mehr Einblick in das Problem zu bekommen, freue ich mich über eine Annahme der Antwort. Sollten Sie weitere Fragen haben, hinterlassen Sie bitte eine Nachricht. Einen schönen Tag!
HP.