0

Ich benutze IdentityServer4 Hybrid-Flow, so habe ich eine MVC-Website, die mit IdentityServer verbindet, dann ruft diese MVC-Website eine API mit der Token-Rückgabe von IDS4. Alles funktioniert gut oder fast. Nach einiger Zeit bekomme ich einen Fehler von der APIIdentityServer4 Hybrid Flow API-Token nicht autorisiert

Fehler 401 nicht autorisierte

Das Token vor dem Aufruf aktualisiert wird so für mich sollte es funktionieren.

Lokal funktioniert es die ganze Zeit perfekt, ich habe nur ein Problem mit der Website auf Azure. Aber wenn ich mich mit einer privaten Sitzung von Chrome auf Azure verbinde, funktioniert es wieder. Ich denke, das Problem ist irgendwie mit Cookies, aber ich weiß nicht genau, was ich tun/versuchen soll.

Antwort

0

Es gibt keinen Code in der Frage, also kann ich nicht sicher sein. Aber basierend auf den Symptomen, die Sie beschreiben, könnte es sein, dass die Anmeldedaten nicht fest sind.

Es gibt einige Optionen, wo Sie suchen:

In Startup: Haben Sie DeveloperSigningCredential-services.AddIdentityServer oder keine SigningCredential überhaupt hinzufügen? Denn in diesem Fall ändert sich der Schlüssel, wenn der Server neu gestartet oder aktualisiert wird, und somit werden alle Token ungültig: Der Server kann die Token nicht mehr lesen. Dies gilt auch für Aktualisierungstokens.

Eine weitere Option ist, dass der Schlüssel auf der Maschine basiert und die (virtuelle) Maschine irgendwann wechselt oder die Seite auf einer Webfarm gehostet wird.

In beiden Fällen sicherstellen, dass der Signaturschlüssel sich nie ändert. Fügen Sie ein Zertifikat (AddSigningCredential) hinzu, um einen festen Schlüssel festzulegen. Dies sollte das Problem lösen.

+0

ok ich werde es versuchen. Für den Moment hatte ich keinen festen Schlüssel, weil es immer noch eine Beta ist. – Mathieu

Verwandte Themen