Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:aai:mfa_mit_passwd_spnego_first [2023/12/31 15:17] Wolfgang Pempede:aai:mfa_mit_passwd_spnego_first [2024/01/10 21:08] (aktuell) Wolfgang Pempe
Zeile 1: Zeile 1:
 ====== MFA mit fudiscr und wahlweise Password/SPNEGO als erstem Faktor ====== ====== MFA mit fudiscr und wahlweise Password/SPNEGO als erstem Faktor ======
-([[user:hofmann_fu-berlin.de|zurück zur fudiscr-Seite]])+([[de:shibidp:plugin-fudiscr|zurück zur fudiscr-Seite]])
  
 <callout type="danger" title="Wichtiger Hinweis"> <callout type="danger" title="Wichtiger Hinweis">
Zeile 30: Zeile 30:
 </file> </file>
  
-Weiterhin muss der SPNEGO-Button im Login-Template überarbeitet werden. Gemeinsam mit dem Username/Password-Button sieht dies dann folgendermaßen aus:+Weiterhin muss der SPNEGO-Button im Login-Template überarbeitet werden (mensch beachte die eventId). Gemeinsam mit dem Username/Password-Button sieht dies dann folgendermaßen aus:
  
 <file xml ./views/login.vm> <file xml ./views/login.vm>
Zeile 90: Zeile 90:
     </util:map>     </util:map>
     <!-- ... -->     <!-- ... -->
 +</file>
 +
 +Die Liste der supported Principals um den entsprechenden Kerberos-Eintrag erweitern:
 +<file properties ./conf/authn/authn.properties>
 +idp.authn.MFA.supportedPrincipals = \
 +    saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol, \
 +    saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport, \
 +    saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:Password, \
 +    saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos, \
 +    saml2/urn:de:zedat:fudis:SAML:2.0:ac:classes:CR
 +</file>
 +
 +Falls für die weitere Verarbeitung im IdP die User Id ohne Realm benötigt wird (entsprechende Transformationen in der c14n-Config vorausgesetzt), gilt es zu verhindern, dass der MFA-Flow mit zwei unterschiedlichen Usernames bzw. "Username Principals" arbeitet - einmal mit, einmal ohne Realm. Daher muss fudiscr daran gehindert werden, die User Id aus der Authentisierung mit dem zweiten Faktor weiter zu verarbeiten:
 +
 +<file properties ./conf/authn/fudiscr.properties>
 +fudiscr.result_with_username_principal=shibboleth.Conditions.FALSE
 +</file>
 +
 +Sowie in ''./conf/c14n/subject-c14n.xml'' in der Liste der ''PostLoginSubjectCanonicalizationFlows'' nach ''<ref bean="c14n/simple" />'' die Referenz ''<ref bean="c14n/fudiscr" />'' einfügen: 
 +
 +<file xml ./conf/c14n/subject-c14n.xml>
 +    <!-- ... -->
 +    <util:list id="shibboleth.PostLoginSubjectCanonicalizationFlows">
 +        <!-- was auch immer sonst hier steht -->
 +        <ref bean="c14n/x500" />
 +        <ref bean="c14n/simple" />
 +        <ref bean="c14n/fudiscr" />
 +    </util:list>
 +    <!-- ... -->
 +</file>
 +
 +Analog zu ''idp.authn.Password.reuseCondition'' sollte auch die Condition für ''idp.authn.SPNEGO.reuseCondition'' gesetzt werden, also z.B.
 +
 +<file properties ./conf/authn/authn.properties>
 +idp.authn.MFA.reuseCondition=shibboleth.Conditions.FALSE
 +idp.authn.Password.reuseCondition=shibboleth.Conditions.TRUE
 +idp.authn.SPNEGO.reuseCondition=shibboleth.Conditions.TRUE
 +idp.authn.fudiscr.reuseCondition=shibboleth.Conditions.FALSE
 </file> </file>
  
 {{tag>2FA MFA Zwei-Faktor-Authentifizierung Mehr-Faktor-Authentifizierung Mehrfaktorauthentifizierung idp4 spnego}} {{tag>2FA MFA Zwei-Faktor-Authentifizierung Mehr-Faktor-Authentifizierung Mehrfaktorauthentifizierung idp4 spnego}}
  • Zuletzt geändert: vor 15 Monaten