Wir haben eine ASP.NET MVC-Anwendung, die WIF und die klassische SessionSecurityTokenHandler
verwendet, was bedeutet, dass der WIF-Cookie mit DPAPI signiert ist.ASP.NET WIF Sicherheitstoken-Handler ändern und CryptographicException vermeiden
Wir möchten den Sicherheitstokenhandler auf MachineKeySessionSecurityTokenHandler
umstellen, da wir unsere Anwendung in einer Azure-Webanwendung auf mehrere Instanzen (Webfarm) skalieren möchten. Dies bedeutet, dass der WIF-Cookie mit dem Maschinenschlüssel signiert wird (der über Web-App-Instanzen gemeinsam genutzt wird).
Das Problem, mit dem wir konfrontiert sind, ist mit Benutzern, die bereits ein Cookie für die Anwendung initialisiert haben. Wenn wir den Token-Handler brutal ändern, erhalten diese Benutzer aufgrund einer CryptographicException
eine hässliche HTTP 500-Seite, weil die Cookie-Signatur ungültig ist.
Gibt es eine Möglichkeit, den Fehler zu vermeiden und stattdessen entweder den veralteten Cookie zu verwerfen oder den Benutzer erneut authentifizieren zu lassen?