Ich habe einen IdentityServer4-Dienst, der die Configuration
und die PersistedGrants
in einer SQL Server-Datenbank mit der integrierten Entity Framework-Unterstützung speichert.
Mein Client verwendet das Hybrid-Grant und unterstützt PKCE (wenn es darauf ankommt).
Immer wenn ich versuche, mich nach einem erfolgreichen Anmeldeversuch, der aus dem Zustimmungsbildschirm bestand, erneut anzumelden, mit demselben Benutzer an den gleichen Client, bekomme ich immer wieder eine Umleitung zum Zustimmungsbildschirm.
Ich stellte sicher, dass der Client AllowRememberConsent
in der Client-Tabelle auf wahr gesetzt ist, auch kann ich die Zustimmung in der PersistedGrants-Tabelle mit der gewünschten ClientId und SubjectId sehen.
Außerdem, wann immer ich wieder zustimme - der gleiche Datensatz wird mit der neuen CreationTime und natürlich Data Spalte aktualisiert.
Ich verglich meine Konfiguration mit der in der offiziellen Dokumentation Quickstart, die funktioniert, und immer noch kein Glück.IdentityServer4 nicht in Betracht ziehen PersistedGrants speichern (user_consent insbesondere)
Jede Hilfe würde geschätzt, dank
Danke für die Antwort. Lass mich sehen, ob ich folge. Heißt das, wenn der Benutzer sich aus der App abmelden wollte, dann wieder eingeloggt, was zur Generierung eines neuen Refresh Tokens führt (da der alte nicht mehr gültig ist, oder zumindest sollte es nicht sein), die Zustimmung Bildschirm wird wieder angezeigt? Der Benutzer hat den Bedingungen bereits zugestimmt, warum muss er sie erneut genehmigen? – DotnetProg
Ist das Abmelden von einer App wirklich ein häufiger Anwendungsfall? In der Regel möchten Sie sich einmal bei einer App anmelden und dann "für immer" (oder zumindest für einen längeren Zeitraum) verwenden. Aber ich kann Ihren Punkt sehen - wenn Sie denken, dass dies ein häufiges Szenario ist, öffnen Sie bitte ein Problem auf GitHub, damit wir darüber diskutieren können. – leastprivilege
Diese Funktion ist wichtig für uns, da unsere App sensible Daten und Zugriff auf Finanzvorgänge enthält. Wir möchten, dass sich ein Benutzer mindestens einmal am Tag anmeldet, damit ich seine Identität bestätigen kann. Wir verwenden Refresh Tokens, aber ich möchte sie nicht länger als einen Tag leben lassen. Danke, ich werde ein Problem auf GitHub öffnen. – DotnetProg