AddTemporarySigningCredential vs AddSigningCredential in IdentityServer4
Laut der docs, IdentityServer verwendet ein asymmetrisches Schlüsselpaar zum signieren und validieren JWTs.
Man könnte entweder AddTemporarySigningCredential()
in der Konfiguration, die erstellt eine neue RSA jedem Systemstart oder verwenden Sie AddSigningCredential(..)
mit einem RSA-Schlüssel oder ein Zertifikat.
Dokument erwähnt die Temporäre version ist nützlich für die Entwicklung Situationen, aber es nicht sagen, was ist der Nachteil beim Einsatz in einer Produktionsumgebung.
Ich habe eine aspnetcore web-api, die den clients authentifiziert werden mithilfe der IdentityServer4. Das system funktioniert im moment gut mit der temporarysigningcredential aber ich Frage mich, ob es irgendeinen Vorteil bei der Verwendung der anderen Variante.
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Nachteil ist, dass jedes mal, wenn Sie neu starten IdentityServer, das Schlüssel material wird sich ändern - oder anders ausgedrückt - alle Token, die signiert wurden, mit dem vorherigen Schlüssel material nicht überprüfen.
"Vorübergehend" ist wirklich nur für Situationen, in denen Sie nicht über andere wichtige Materialien zur Verfügung.
Statt AddTemporarySigningCredential betrachten Sie zu verwenden AddDeveloperSigningCredential
Vom http://docs.identityserver.io/en/release/topics/startup.html#refstartupkeymaterial:
AddDeveloperSigningCredential
ACHTUNG: AddDeveloperSigningCredential kann nur verwendet werden, wenn IdentityServer host ausgeführt wird, auf einem SINGLE Maschine, die für die Produktion farm, die Sie verwenden müssen, AddSigningCredential.
.AddSigningCredential()
?