Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:shibidp3adfs [2016/06/23 13:08] (aktuell)
Schreiterer, Frank angelegt
Zeile 1: Zeile 1:
 +====== ADFS als SP (Kopplung mit ADFS) ======
 +ADFS kann sowohl als SP als auch als IdP agieren. Hier wird beschrieben,​ wie man die AuthenticationContextClass anpassen kann, da für eine korrekte Funktion in gekoppelten Szenarien nicht der Standard wie z.B. urn:​oasis:​names:​tc:​SAML:​2.0:​ac:​classes:​PasswordProtectedTransport verwendet werden darf, sondern http://​schemas.microsoft.com/​ws/​2008/​06/​identity/​authenticationmethod/​password.
  
 +Bei ADFS (getestet mit Version 2.0) sind dafür folgenden Anpassungen in der Konfiguration notwendig:
 +
 +<file xml /​conf/​auth/​general-authn.xml>​
 +<!--
 +<bean id="​authn/​Password"​ parent="​shibboleth.AuthenticationFlow"​
 +  p:​passiveAuthenticationSupported="​true"​
 +  p:​forcedAuthenticationSupported="​true"​ />
 +--> ​       ​
 +<bean id="​authn/​Password"​ parent="​shibboleth.AuthenticationFlow"​
 +  p:​passiveAuthenticationSupported="​true"​
 +  p:​forcedAuthenticationSupported="​true">​
 +  <​property name="​supportedPrincipals">​
 +    <​list>​
 +      <bean parent="​shibboleth.SAML2AuthnContextClassRef"​
 + c:​classRef="​http://​schemas.microsoft.com/​ws/​2008/​06/​identity/​authenticationmethod/​password"/>​
 +      <bean parent="​shibboleth.SAML2AuthnContextClassRef"​
 + c:​classRef="​urn:​oasis:​names:​tc:​SAML:​2.0:​ac:​classes:​PasswordProtectedTransport"​ />
 +      <bean parent="​shibboleth.SAML2AuthnContextClassRef"​
 + c:​classRef="​urn:​oasis:​names:​tc:​SAML:​2.0:​ac:​classes:​Password"​ />
 +      <bean parent="​shibboleth.SAML1AuthenticationMethod"​
 + c:​method="​urn:​oasis:​names:​tc:​SAML:​1.0:​am:​password"​ />
 +     </​list>​
 +  </​property>​
 +</​bean>​
 +</​file>​
 +
 +Damit wird Shibboleth die neue AuthenticationContextClass bekannt gemacht. Nun muss diese noch selektiv für das bzw. die ADFS-Systeme zur Verfügung gestellt werden. Dies wird in der relying-party.xml erreicht.
 +
 +<file xml /​conf/​relying-party.xml>​
 +<!-- ... -->
 +<!-- neues bean für adfs mit der AuthenticationContextClass -->
 +<bean id="​SAML2.SSO.adfs"​ parent="​SAML2.SSO">​
 +  <​property name="​defaultAuthenticationMethods">​
 +    <​list>​
 +   <bean parent="​shibboleth.SAML2AuthnContextClassRef"​
 + c:​classRef="​http://​schemas.microsoft.com/​ws/​2008/​06/​identity/​authenticationmethod/​password"/>​
 +    </​list>​
 +  </​property>​
 +</​bean>​
 +
 +<!-- ... -->
 +
 +<​util:​list id="​shibboleth.RelyingPartyOverrides">​
 +  <!-- ... -->
 +  <!-- komma-separierte Liste der Entity IDs der ADFS-Systeme -->
 +  <bean parent="​RelyingPartyByName" ​
 +    c:​relyingPartyIds="#​{{'​http://​adfs1.beispiel-uni.de/​adfs/​services/​trust',​ '​http://​adfs2.beispiel-uni.de/​adfs/​services/​trust'​}}">​
 +    <​property name="​profileConfigurations">​
 +   <​list>​
 +     <bean parent="​Shibboleth.SSO"/>​
 + <ref bean="​SAML1.AttributeQuery"​ />
 + <ref bean="​SAML1.ArtifactResolution"​ />
 + <bean parent="​SAML2.SSO.adfs"​ p:​nameIDFormatPrecedence="#​{{'​urn:​oasis:​names:​tc:​SAML:​2.0:​nameid-format:​transient'​}}"/>​
 + <ref bean="​SAML2.Logout"​ />
 + <ref bean="​SAML2.AttributeQuery"​ />
 + <ref bean="​SAML2.ArtifactResolution"​ />
 + <ref bean="​Liberty.SSOS"​ />
 +      </​list>​
 +    </​property>​
 +  </​bean>  ​
 +  <!-- ... -->
 +</​file>​
  • Zuletzt geändert: vor 3 Jahren