1

Ich arbeite mit Identity Server 4, um Identitätsdienste für verschiedene Anwendungen in einem Enterprise Arch bereitzustellen.Silent-Token erneuern in Identity Server 4 mit js Client-App funktioniert nicht wie erwartet

Registrierte eine SPA-Anwendung mit implizitem Flow mit der Identity Server 4 App mit oidc-client.js und funktioniert.

Aber das Problem ist mit Token erneuern, müssen Benutzeranmeldung für eine lange Zeit der Benutzer ohne Anmeldung der Benutzer wieder anmelden.

Um dies zu erreichen, implementieren Sie implementiert stilles Token mit der folgenden Konfiguration zu erneuern.

var config = { 
    authority: "http://localhost:5000", 
    client_id: "jswebclient", 
    redirect_uri: "http://localhost:5003/callback.html", 
    response_type: "id_token token", 
    scope: "openid profile api1", 
    post_logout_redirect_uri: "http://localhost:5003/loggedout.html", 
    automaticSilentRenew: true, 
    silent_redirect_uri : "http://localhost:5003/callback.html" }; 

var mgr = new Oidc.UserManager(config);

mit der obigen Konfiguration wird die automatische Erneuerung geschieht, aber es ist nicht schweigen zu erneuern, wie erwartet, komplette Seite der Umleitung uri Umleitung geschieht Antwort von Identitätsserver zu behandeln.

für ex: index.html ist meine eigentliche Seite, in der Stille Erneuerung passiert und callback.html ist die Umleitung uri, index.html wird zu callback.html umgeleitet und dann erneuert und dann zurück zu index.html, tatsächlich umgeleitet Netzwerkprotokoll ist unten, enter image description here

kann mir helfen, eine pls mir helfen, das Problem zu lösen, um still zu erneuern, passieren.

Antwort

1

nach viel und unter Bezugnahme auf viele Artikel Googeln fand ich die Frage aus, die mit der Konfiguration ist, es funktionierte nach der Konfiguration in dem unter wechselnden

var config = { 
    authority: "http://localhost:5000", 
    client_id: "jswebclient", 
    redirect_uri: "http://localhost:5003/callback.html", 
    response_type: "id_token token", 
    scope: "openid profile api1", 
    post_logout_redirect_uri: "http://localhost:5003/loggedout.html", 
    automaticSilentRenew: true, 
    silent_redirect_uri: "http://localhost:5003/silentrenew.html" 
}; 

var mgr = new Oidc.UserManager(config); 

erstellt eine neue silentrenew.html Seite zu handhaben silent renew response und hinzugefügt das folgende Skript auf der Seite

<script> 
    new Oidc.UserManager().signinSilentCallback();   
</script> 

das ist alles ... es begann zu arbeiten wie erwartet.

Verwandte Themen