Wie kann ich sicherstellen, dass der gleiche Auftraggeber während der Authentifizierungskette in OpenAM verwendet wird?

StackOverflow https://stackoverflow.com/questions/19834596

  •  25-07-2022
  •  | 
  •  

Frage

Ich muss eine zweistufige Authentifizierungskette mit OpenAM einrichten. Im ersten Schritt fordert das Modul ein Benutzerzertifikat an (das zuvor mit einer BenutzerID verknüpft worden sein muss) und sendet es an einen externen Webdienst, der es validiert und die BenutzerID zurückgibt, was zum Namen des Prinzipals wird:

public Principal getPrincipal()
{
    return new DataStorePrincipal(userID);
}

Im zweiten Schritt fordert das Modul den Benutzer auf, seine BenutzerID und sein Passwort einzugeben. Wie stelle ich sicher, dass die typisierte BenutzerID die gleiche wie die aus Schritt 1 ist?

Die Module sind so gekettet:

  1. Zertifikat - erforderlich
  2. ID/Passwort - erforderlich
War es hilfreich?

Lösung

Das erste Modul könnte die 'userID' in der Karte mit freigegebenem Zustand speichern. Das 2. Modul kann sie von der Karte mit Shared State lesen. Sie können die vorhandene Auth-Modules-Quelle ansehen, da sie Unterstützung für "Shared State" bieten

Sie können sich auch ansehen 'http://docs.forgerock.org/en/openam/10.1.0/admin-guide/index.html#configure-authn-kains'

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top