Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- This file is an EXAMPLE configuration file. While the configuration
- presented in this example file is semi-functional, it isn't very
- interesting. It is here only as a starting point for your deployment
- process.
- Very few attribute definitions and data connectors are demonstrated,
- and the data is derived statically from the logged-in username and a
- static example connector.
- Attribute-resolver-full.xml contains more examples of attributes,
- encoders, and data connectors. Deployers should refer to the Shibboleth
- documentation for a complete list of components and their options.
- -->
- <resolver:AttributeResolver
- xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
- xmlns:pc="urn:mace:shibboleth:2.0:resolver:pc"
- xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad"
- xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
- xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder"
- xmlns:sec="urn:mace:shibboleth:2.0:security"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
- urn:mace:shibboleth:2.0:resolver:pc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-pc.xsd
- urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
- urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
- urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <!-- ========================================== -->
- <!-- Attribute Definitions -->
- <!-- ========================================== -->
- <!--
- The EPPN is the "standard" federated username in higher ed.
- For guidelines on the implementation of this attribute, refer
- to the Shibboleth and eduPerson documentation. Above all, do
- not expose a value for this attribute without considering the
- long term implications.
- -->
- <resolver:AttributeDefinition id="eduPersonPrincipalName" xsi:type="ad:Scoped" scope="%{idp.scope}" sourceAttributeID="uid">
- <resolver:Dependency ref="uid" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1ScopedString" name="urn:mace:dir:attribute-def:eduPersonPrincipalName" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" friendlyName="eduPersonPrincipalName" encodeType="false" />
- </resolver:AttributeDefinition>
- <!--
- The uid is the closest thing to a "standard" LDAP attribute
- representing a local username, but you should generally *never*
- expose uid to federated services, as it is rarely globally unique.
- -->
- <resolver:AttributeDefinition id="uid" xsi:type="ad:PrincipalName">
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.1" friendlyName="uid" encodeType="false" />
- </resolver:AttributeDefinition>
- <!--
- In the rest of the world, the email address is the standard identifier,
- despite the problems with that practice. Consider making the EPPN
- value the same as your official email addresses whenever possible.
- -->
- <resolver:AttributeDefinition id="mail" xsi:type="ad:Template">
- <resolver:Dependency ref="uid" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail" encodeType="false" />
- <ad:Template>
- <![CDATA[
- ${uid}@example.org
- ]]>
- </ad:Template>
- <ad:SourceAttribute>uid</ad:SourceAttribute>
- </resolver:AttributeDefinition>
- <!--
- This is an example of an attribute sourced from a data connector.
- It's scoped, which we probably don't need; Simple should do. Scoped has a very limited use-case; see: https://spaces.internet2.edu/display/InCFederation/Scope+in+Metadata
- -->
- <resolver:AttributeDefinition id="eduPersonScopedAffiliation" xsi:type="ad:Scoped" scope="%{idp.scope}" sourceAttributeID="affiliationData">
- <resolver:Dependency ref="staticAttributesConnector" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonScopedAffiliation" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" friendlyName="eduPersonScopedAffiliation" encodeType="false" />
- </resolver:AttributeDefinition>
- <!-- Test UNscoped attribute definition -->
- <resolver:AttributeDefinition id="testUnscopedAttribute" xsi:type="ad:Simple" sourceAttributeID="testUnscopedData">
- <resolver:Dependency ref="staticAttributesConnector" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:testUnscopedAttribute" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:foo:bar:testUnscopedAttribute" friendlyName="testUnscopedAttributeFriendlyName" encodeType="false" />
- </resolver:AttributeDefinition>
- <!-- LDAP connector's attributes -->
- <!-- E-mail ('mail' in AD LDAP CN=User objectClass) -->
- <!--
- <resolver:AttributeDefinition id="ldapEmailAttribute" xsi:type="ad:Simple" sourceAttributeID="mail">
- <resolver:Dependency ref="ldapConnector" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" />
- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="email" encodeType="false" />
- </resolver:AttributeDefinition>
- -->
- <!-- Username ('sAMAccountName' in AD LDAP CN=User objectClass) -->
- <!--
- <resolver:AttributeDefinition id="ldapAccountNameAttribute" xsi:type="ad:Simple" sourceAttributeID="sAMAccountName">
- <resolver:Dependency ref="ldapConnector" />
- <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:sAMAccountName" /> -->
- <!-- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.44" friendlyName="sAMAccountName" /> says some Github code -->
- <!-- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.2.840.113556.1.4.221" friendlyName="sAMAccountName" /> says OID repository -->
- <!-- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:ecolint.ch:attribute-def:username" friendlyName="username" /> says ecolint.ch -->
- <!-- <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.2.840.113556.1.4.221" friendlyName="accountName" />
- </resolver:AttributeDefinition>
- -->
- <!-- ========================================== -->
- <!-- Data Connectors -->
- <!-- ========================================== -->
- <resolver:DataConnector id="staticAttributesConnector" xsi:type="dc:Static">
- <dc:Attribute id="affiliationData">
- </dc:Attribute>
- <dc:Attribute id="testUnscopedData">
- </dc:Attribute>
- </resolver:DataConnector>
- <!--
- <resolver:DataConnector
- xsi:type="dc:LDAPDirectory"
- id="ldapConnector"
- ldapURL="ldap://myorganization.local:389"
- baseDN="OU=Users,OU=FT org,DC=FTorg,DC=local"
- principal="[loginUsername]"
- principalCredential="[loginPassword]"
- lowercaseAttributeNames="true"
- >
- <dc:FilterTemplate>
- <![CDATA[
- (CN=$requestContext.principalName)
- ]]>
- </dc:FilterTemplate>
- </resolver:DataConnector>
- -->
- <resolver:DataConnector
- xsi:type="dc:LDAPDirectory"
- id="ldapConnector"
- ldapURL="ldap://myorganization.local:389"
- baseDN="OU=Users,OU=FT org,DC=FTorg,DC=local"
- principal="XXXXXXXXXXXXXXX"
- principalCredential="XXXXXXXXXXXXXX"
- lowercaseAttributeNames="true"
- >
- <dc:FilterTemplate>
- <![CDATA[
- (CN=$requestContext.principalName)
- ]]>
- </dc:FilterTemplate>
- </resolver:DataConnector>
- </resolver:AttributeResolver>
Advertisement
Add Comment
Please, Sign In to add comment