2010-12-14 8 views
1

Ich versuche, pape.MaximumAuthenticationAge zu verwenden, um Benutzer zur erneuten Authentifizierung mit dem OP zu zwingen, aber die Beispiele in DotNetOpenAuth scheinen nicht damit umzugehen.Erzwingt die erneute Authentifizierung von Benutzern in OpenId mit DotNetOpenAuth

Nach dem Lesen von DotNetOpenAuth "Sign Out" Button und http://openid.net/specs/openid-provider-authentication-policy-extension-1_0.html#anchor8 scheint dies der richtige Weg zu sein.

Bitte bestätigen Sie, dass dies der richtige Weg ist, und schlagen Sie vor, welche Änderungen ich im OP-Beispiel vornehmen muss, um dies zu erreichen. Vielen Dank.

Antwort

1

Sie haben Recht, mit OpenId können Sie eine Bedingung "max auth age" auf Anfragen anwenden, die das OP anweisen, sich zu authentifizieren, wenn sich der Endbenutzer nicht innerhalb von -n Sekunden authentifiziert hat. Wenn Sie diesen Parameter auf '1' setzen, können Sie das OP effektiv dazu zwingen, den Endbenutzer erneut zu authentifizieren.

Nehmen Sie jedoch NICHT an, dass jeder Provider Funktionen implementiert hat, um den Parameter 'max auth age' zu erzwingen. Dies kann die Ursache für unerwartetes Verhalten sein, das Sie sehen.

Aus der Dokumentation:

wenn ein OP nicht erfüllt eine Anforderung für die rechtzeitige Authentifizierung, der RP kann beschließen, den Endbenutzer-Zugriff auf die Dienste von dem RP vorgesehen zu gewähren.

Verwenden Sie die folgende Seite Unterstützung für diesen Parameter auf einem OP von OP Basis zu testen: http://test-id.org/OP/MaxAuthAge.aspx

+0

Sie werden feststellen, dass Google oAuth den Alten Parameter max Auth erkennt. Fügen Sie mithilfe des Test-ID-Tools den Google-Endpunkt ein: https://www.google.com/accounts/o8/id – Jon

Verwandte Themen