[java-identity-provider] branch master updated: IDP-1571 - Default sn mapping uses wrong attribute ID

Scott Cantor cantor.2 at osu.edu
Tue Mar 3 08:27:40 EST 2020


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=a2095fc0a3ff76cc7671b751dae4ec2908b84df7

The following commit(s) were added to refs/heads/master by this push:
       new  a2095fc   IDP-1571 - Default sn mapping uses wrong attribute ID
a2095fc is described below

commit a2095fc0a3ff76cc7671b751dae4ec2908b84df7
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Mar 3 08:27:34 2020 -0500

    IDP-1571 - Default sn mapping uses wrong attribute ID
    
    https://issues.shibboleth.net/jira/browse/IDP-1571
    
    Broader rule and example cleanup.
---
 .../resources/conf/attribute-resolver-full.xml     | 251 ----------------
 .../resources/conf/attribute-resolver-ldap.xml     | 101 ++++---
 .../resources/conf/attributes/default-rules.xml    | 334 +++++++++++----------
 3 files changed, 227 insertions(+), 459 deletions(-)

diff --git a/idp-conf/src/main/resources/conf/attribute-resolver-full.xml b/idp-conf/src/main/resources/conf/attribute-resolver-full.xml
deleted file mode 100644
index ad75dbc..0000000
--- a/idp-conf/src/main/resources/conf/attribute-resolver-full.xml
+++ /dev/null
@@ -1,251 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    This file is an EXAMPLE configuration file containing lots of commented
-    example attributes, encoders, and a couple of example data connectors.
-     
-    Not all attribute definitions or data connectors are demonstrated, but
-    a variety of LDAP attributes, some common to Shibboleth deployments and
-    many not, are included.
-    
-    Deployers should refer to the Identity Provider 3 documentation
-    
-    https://wiki.shibboleth.net/confluence/display/IDP30/AttributeResolverConfiguration
-     
-    for a complete list of components and their options.
--->
-<AttributeResolver
-        xmlns="urn:mace:shibboleth:2.0:resolver"
-        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">
-
-    <!-- ========================================== -->
-    <!--      Attribute Definitions                 -->
-    <!-- ========================================== -->
-
-    <!-- Schema: Core schema attributes-->
-<!--
-
-    <AttributeDefinition xsi:type="Simple" id="uid">
-        <InputDataConnector ref="myLDAP" attributeNames="uid"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="mail">
-        <InputDataConnector ref="myLDAP" attributeNames="mail"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="homePhone">
-        <InputDataConnector ref="myLDAP" attributeNames="homePhone"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="homePostalAddress">
-        <InputDataConnector ref="myLDAP" attributeNames="homePostalAddress"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="mobileNumber">
-        <InputDataConnector ref="myLDAP" attributeNames="mobile"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="pagerNumber">
-        <InputDataConnector ref="myLDAP" attributeNames="pager"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="surname">
-        <InputDataConnector ref="myLDAP" attributeNames="sn"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="locality">
-        <InputDataConnector ref="myLDAP" attributeNames="l"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="stateProvince">
-        <InputDataConnector ref="myLDAP" attributeNames="st"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="street">
-        <InputDataConnector ref="myLDAP" attributeNames="street"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="organizationName">
-        <InputDataConnector ref="myLDAP" attributeNames="o"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="organizationalUnit">
-        <InputDataConnector ref="myLDAP" attributeNames="ou"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="title">
-        <InputDataConnector ref="myLDAP" attributeNames="title"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="postalAddress">
-        <InputDataConnector ref="myLDAP" attributeNames="postalAddress"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="postalCode">
-        <InputDataConnector ref="myLDAP" attributeNames="postalCode"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="postOfficeBox">
-        <InputDataConnector ref="myLDAP" attributeNames="postOfficeBox"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="telephoneNumber">
-        <InputDataConnector ref="myLDAP" attributeNames="telephoneNumber"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="givenName">
-        <InputDataConnector ref="myLDAP" attributeNames="givenName"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="initials">
-        <InputDataConnector ref="myLDAP" attributeNames="initials"/>
-    </AttributeDefinition>
--->
-
-    <!-- Schema: inetOrgPerson attributes-->
-<!--
-    <AttributeDefinition xsi:type="Simple" id="departmentNumber">
-        <InputDataConnector ref="myLDAP" attributeNames="departmentNumber"/>
-    </AttributeDefinition>
-    
-    <AttributeDefinition xsi:type="Simple" id="displayName">
-        <InputDataConnector ref="myLDAP" attributeNames="displayName"/>
-    </AttributeDefinition> 
-
-    <AttributeDefinition xsi:type="Simple" id="employeeNumber">
-        <InputDataConnector ref="myLDAP" attributeNames="employeeNumber"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="employeeType">
-        <InputDataConnector ref="myLDAP" attributeNames="employeeType"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="jpegPhoto">
-        <InputDataConnector ref="myLDAP" attributeNames="jpegPhoto"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="preferredLanguage">
-        <InputDataConnector ref="myLDAP" attributeNames="preferredLanguage"/>
-    </AttributeDefinition>
--->
-    <!-- Schema: eduPerson attributes -->
-<!-- 
-    <AttributeDefinition xsi:type="Simple" id="eduPersonAffiliation">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonAffiliation" />
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="eduPersonEntitlement">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonEntitlement"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="eduPersonNickname">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonNickname"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Simple" id="eduPersonPrimaryAffiliation">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrimaryAffiliation"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Prescoped" id="eduPersonPrincipalName">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalName"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Prescoped" id="eduPersonPrincipalNamePrior">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalNamePrior"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Scoped" id="eduPersonScopedAffiliation" scope="%{idp.scope}">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonAffiliation"/>
-    </AttributeDefinition>
-    
-    <AttributeDefinition xsi:type="Simple" id="eduPersonAssurance">
-        <InputDataConnector ref="myLDAP" attributeNames="eduPersonAssurance"/>
-    </AttributeDefinition>
--->
-
-    <!-- Semi-deprecated eduPersonUniqueId, should be phased out in favor of SAML subject-id replacement below. -->
-<!-- 
-    <AttributeDefinition xsi:type="Scoped" id="eduPersonUniqueId" scope="%{idp.scope}">
-        <InputDataConnector ref="myLDAP" attributeNames="%{idp.persistentId.sourceAttribute}"/>
-    </AttributeDefinition>
--->
-
-    <!-- Schema: SAML Subject ID Attributes -->
-<!--
-    <AttributeDefinition xsi:type="Scoped" id="samlSubjectID" scope="%{idp.scope}">
-        <InputDataConnector ref="myLDAP" attributeNames="%{idp.persistentId.sourceAttribute}"/>
-    </AttributeDefinition>
-
-    <AttributeDefinition xsi:type="Scoped" id="samlPairwiseID" scope="%{idp.scope}">
-        <InputDataConnector ref="computed" attributeNames="computedId"/>
-    </AttributeDefinition>
--->
-
-    <!-- ========================================== -->
-    <!--      Data Connectors                       -->
-    <!-- ========================================== -->
-
-    <!-- Example Static Connector -->
-
-    <!-- Example Relational Database Connector.  
-         In practice a <SimpleManagedConnection> is enough to get you going but you should consider a
-         <BeanManagedConnection> fully configured for your particular environment -->
-    
-<!--
-    <DataConnector id="mySIS" xsi:type="RelationalDatabase">
-        <SimpleManagedConnection jdbcDriver="oracle.jdbc.driver.OracleDriver"
-                                 jdbcURL="jdbc:oracle:thin:@db.example.org:1521:SomeDB" 
-                                 jdbcUserName="myid" 
-                                 jdbcPassword="mypassword" />
-        <QueryTemplate>
-            <![CDATA[
-                SELECT * FROM student WHERE gzbtpid = '$resolutionContext.principal'
-            ]]>
-        </QueryTemplate>
-
-        <Column columnName="gzbtpid" attributeID="uid" />
-        <Column columnName="fqlft" attributeID="gpa" />
-    </DataConnector>
--->
-
-    <!-- Example LDAP Connector -->
-<!--
-    <DataConnector id="myLDAP" xsi:type="LDAPDirectory"
-        ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"
-        baseDN="%{idp.attribute.resolver.LDAP.baseDN}" 
-        principal="%{idp.attribute.resolver.LDAP.bindDN}"
-        principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}"
-        useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:true}"
-        connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}"
-		trustFile="%{idp.attribute.resolver.LDAP.trustCertificates}"
-        responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}">
-        <FilterTemplate>
-            <![CDATA[
-                %{idp.attribute.resolver.LDAP.searchFilter}
-            ]]>
-        </FilterTemplate>
-	    <ConnectionPool
-            minPoolSize="%{idp.pool.LDAP.minSize:3}"
-            maxPoolSize="%{idp.pool.LDAP.maxSize:10}"
-            blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}"
-            validatePeriodically="%{idp.pool.LDAP.validatePeriodically:true}"
-            validateTimerPeriod="%{idp.pool.LDAP.validatePeriod:PT5M}"
-            expirationTime="%{idp.pool.LDAP.idleTime:PT10M}" />
-    </DataConnector>
--->
-
-    <!-- DataConector for pairwise-id (example depends on saml-nameid.properties). -->
-
-<!-- 
-    <DataConnector id="computed" xsi:type="ComputedId"
-	    generatedAttributeID="computedId"
-	    salt="%{idp.persistentId.salt}"
-	    algorithm="%{idp.persistentId.algorithm:SHA}"
-        encoding="%{idp.persistentId.encoding:BASE32}">
-	    
-        <InputDataConnector ref="myLDAP" attributeNames="%{idp.persistentId.sourceAttribute}" />
-        
-	</DataConnector>
--->
-
-</AttributeResolver>
diff --git a/idp-conf/src/main/resources/conf/attribute-resolver-ldap.xml b/idp-conf/src/main/resources/conf/attribute-resolver-ldap.xml
index 76e6d55..7269887 100644
--- a/idp-conf/src/main/resources/conf/attribute-resolver-ldap.xml
+++ b/idp-conf/src/main/resources/conf/attribute-resolver-ldap.xml
@@ -1,66 +1,62 @@
 <?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.
+<!--
+    This file is an EXAMPLE configuration file containing lots of commented
+    example attributes, encoders, and a couple of example data connectors.
+     
+    Not all attribute definitions or data connectors are demonstrated, but
+    a variety of LDAP attributes, some common to Shibboleth deployments and
+    many not, are included.
     
-    Very few attribute definitions and data connectors are demonstrated,
-    and use of LDAP is assumed, with the LDAP configuration primarily
-    supplied from the ldap.properties file.
-
-    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.
+    Deployers should refer to the Identity Provider 3 documentation
+    
+    https://wiki.shibboleth.net/confluence/display/IDP30/AttributeResolverConfiguration
+     
+    for a complete list of components and their options.
 -->
 <AttributeResolver
         xmlns="urn:mace:shibboleth:2.0:resolver"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        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">
 
     <!-- ========================================== -->
     <!--      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. 
-    -->
-    <AttributeDefinition id="eduPersonPrincipalName" xsi:type="Prescoped" >
+    <!-- Simple attributes are exported directly from the LDAP connector. -->
+
+    <!-- eduPerson attributes requiring post-lookup manipulation -->
+<!-- 
+
+    <AttributeDefinition xsi:type="Prescoped" id="eduPersonPrincipalName">
         <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalName"/>
     </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.
-    -->
-    <AttributeDefinition id="uid" xsi:type="Simple" >
-        <InputDataConnector ref="myLDAP" attributeNames="uid"/>
+    <AttributeDefinition xsi:type="Prescoped" id="eduPersonPrincipalNamePrior">
+        <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalNamePrior"/>
     </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.
-    -->
-    <AttributeDefinition id="mail" xsi:type="Simple" >
-        <InputDataConnector ref="myLDAP" attributeNames="mail"/>
+    <AttributeDefinition xsi:type="Scoped" id="eduPersonScopedAffiliation" scope="%{idp.scope}">
+        <InputDataConnector ref="myLDAP" attributeNames="eduPersonAffiliation"/>
     </AttributeDefinition>
-        
+-->
+
+    <!-- Schema: SAML Subject ID Attributes -->
+<!--
+    <AttributeDefinition xsi:type="Scoped" id="samlSubjectID" scope="%{idp.scope}">
+        <InputDataConnector ref="myLDAP" attributeNames="%{idp.persistentId.sourceAttribute}"/>
+    </AttributeDefinition>
+
+    <AttributeDefinition xsi:type="Scoped" id="samlPairwiseID" scope="%{idp.scope}">
+        <InputDataConnector ref="computed" attributeNames="computedId"/>
+    </AttributeDefinition>
+-->
+
     <!-- ========================================== -->
     <!--      Data Connectors                       -->
     <!-- ========================================== -->
-    
-    <!--
-    Example LDAP Connector
-    
-    The connectivity details can be specified in ldap.properties to
-    share them with your authentication settings if desired.
-    -->
+
+    <!-- Example LDAP Connector -->
+
     <DataConnector id="myLDAP" xsi:type="LDAPDirectory"
         ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"
         baseDN="%{idp.attribute.resolver.LDAP.baseDN}" 
@@ -69,13 +65,14 @@
         useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:true}"
         connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}"
         trustFile="%{idp.attribute.resolver.LDAP.trustCertificates}"
-        responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}">
+        responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}"
+        exportAttributes="mail displayName sn givenName departmentNumber employeeNumber eduPersonEntitlement eduPersonAssurance">
         <FilterTemplate>
             <![CDATA[
                 %{idp.attribute.resolver.LDAP.searchFilter}
             ]]>
         </FilterTemplate>
-	    <ConnectionPool
+        <ConnectionPool
             minPoolSize="%{idp.pool.LDAP.minSize:3}"
             maxPoolSize="%{idp.pool.LDAP.maxSize:10}"
             blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}"
@@ -84,4 +81,18 @@
             expirationTime="%{idp.pool.LDAP.idleTime:PT10M}"/>
     </DataConnector>
 
+    <!-- DataConector for pairwise-id (example depends on saml-nameid.properties). -->
+
+<!-- 
+    <DataConnector id="computed" xsi:type="ComputedId"
+	    generatedAttributeID="computedId"
+	    salt="%{idp.persistentId.salt}"
+	    algorithm="%{idp.persistentId.algorithm:SHA}"
+        encoding="%{idp.persistentId.encoding:BASE32}">
+	    
+        <InputDataConnector ref="myLDAP" attributeNames="%{idp.persistentId.sourceAttribute}" />
+        
+	</DataConnector>
+-->
+
 </AttributeResolver>
diff --git a/idp-conf/src/main/resources/conf/attributes/default-rules.xml b/idp-conf/src/main/resources/conf/attributes/default-rules.xml
index 4229710..14df088 100644
--- a/idp-conf/src/main/resources/conf/attributes/default-rules.xml
+++ b/idp-conf/src/main/resources/conf/attributes/default-rules.xml
@@ -14,50 +14,35 @@
 
     <!-- Default Attribute transcoding rules. -->
     
+    <!--
+    Many if not most of these attributes are not suited or may even be actively discouraged
+    from use in federated protocols, but this is merely a set of well-known definitions, not
+    a recommended set to support or use.
+    -->
+    
     <bean parent="shibboleth.TranscodingRuleLoader">
     <constructor-arg>
     <list>
 
         <!-- Schema: Core schema attributes-->
-        <bean parent="shibboleth.TranscodingProperties">
-            <property name="properties">
-                <props merge="true">
-                    <prop key="id">uid</prop>
-                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.1</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:uid</prop>
-                    <prop key="displayName.en">User ID</prop>
-                    <prop key="displayName.de">Benutzer-ID</prop>
-                    <prop key="displayName.fr">ID utilisateur</prop>
-                    <prop key="displayName.it">ID dell'utente</prop>
-                    <prop key="displayName.ja">ユーザID</prop>
-                    <prop key="description.en">A unique identifier for a person, mainly used for user identification within the user's home organization.</prop>
-                    <prop key="description.de">Eine eindeutige Nummer für eine Person, welche hauptsächlich zur Identifikation innerhalb der Organisation benutzt wird.</prop>
-                    <prop key="description.fr">Identifiant de connexion d'une personnes sur les systèmes informatiques.</prop>
-                    <prop key="description.it">Identificativo unico della persona, usato per l'identificazione dell'utente all'interno della organizzazione di appartenenza.</prop>
-                    <prop key="description.ja">所属機関内で一意の利用者識別子</prop>
-                </props>
-            </property>
-        </bean>
 
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">mail</prop>
+                    <prop key="id">givenName</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.3</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:mail</prop>
-                    <prop key="displayName.en">E-mail</prop>
-                    <prop key="displayName.de">E-Mail</prop>
-                    <prop key="displayName.fr">Email</prop>
-                    <prop key="displayName.it">E-mail</prop>
-                    <prop key="displayName.ja">メールアドレス</prop>
-                    <prop key="description.en">E-Mail: Preferred address for e-mail to be sent to this person</prop>
-                    <prop key="description.de">E-Mail-Adresse</prop>
-                    <prop key="description.de-ch">E-Mail Adresse</prop>
-                    <prop key="description.fr">Adresse de courrier électronique</prop>
-                    <prop key="description.it">E-Mail: l'indirizzo e-mail preferito dall'utente</prop>
-                    <prop key="description.ja">メールアドレス</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.42</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:givenName</prop>
+                    <prop key="displayName.en">Given name</prop>
+                    <prop key="displayName.de">Vorname</prop>
+                    <prop key="displayName.fr">Prénom</prop>
+                    <prop key="displayName.it">Nome</prop>
+                    <prop key="displayName.ja">名</prop>
+                    <prop key="description.en">Given name of a person</prop>
+                    <prop key="description.de">Vorname</prop>
+                    <prop key="description.fr">Prénom de l'utilisateur</prop>
+                    <prop key="description.it">Nome</prop>
+                    <prop key="description.ja">氏名(名)の英語表記</prop>
                 </props>
             </property>
         </bean>
@@ -109,54 +94,19 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">mobile</prop>
-                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.41</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:mobile</prop>
-                    <prop key="displayName.en">Mobile phone number</prop>
-                    <prop key="displayName.de">Telefon Mobil</prop>
-                    <prop key="displayName.fr">Numéro de mobile</prop>
-                    <prop key="displayName.it">Numero di cellulare</prop>
-                    <prop key="displayName.ja">携帯電話番号</prop>
-                    <prop key="description.en">Mobile phone number</prop>
-                    <prop key="description.de">Mobile Telefonnummer</prop>
-                    <prop key="description.fr">Numéro de teléphone mobile</prop>
-                    <prop key="description.it">Numero di cellulare</prop>
-                    <prop key="description.ja">携帯電話の電話番号</prop>
-                </props>
-            </property>
-        </bean>
-
-        <bean parent="shibboleth.TranscodingProperties">
-            <property name="properties">
-                <props merge="true">
-                    <prop key="id">pager</prop>
-                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.42</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:pager</prop>
-                    <prop key="displayName.en">Pager number</prop>
-                    <prop key="description.en">Pager number</prop>
-                </props>
-            </property>
-        </bean>
-
-        <bean parent="shibboleth.TranscodingProperties">
-            <property name="properties">
-                <props merge="true">
-                    <prop key="id">sn</prop>
+                    <prop key="id">initials</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.4</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:sn</prop>
-                    <prop key="displayName.en">Surname</prop>
-                    <prop key="displayName.de">Nachname</prop>
-                    <prop key="displayName.fr">Nom de famille</prop>
-                    <prop key="displayName.it">Cognome</prop>
-                    <prop key="displayName.ja">姓</prop>
-                    <prop key="description.en">Surname or family name</prop>
-                    <prop key="description.de">Familienname</prop>
-                    <prop key="description.fr">Nom de famille de l'utilisateur.</prop>
-                    <prop key="description.it">Cognome dell'utilizzatore</prop>
-                    <prop key="description.ja">氏名(姓)の英語表記</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.43</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:initials</prop>
+                    <prop key="displayName.en">Initials</prop>
+                    <prop key="displayName.de">Initialen</prop>
+                    <prop key="displayName.fr">Initiales</prop>
+                    <prop key="displayName.ja">イニシャル</prop>
+                    <prop key="description.en">Initials</prop>
+                    <prop key="description.de">Anfangsbuchstaben des Namens</prop>
+                    <prop key="description.de-ch">Die Anfangsbuchstaben</prop>
+                    <prop key="description.fr">L' initiales</prop>
+                    <prop key="description.ja">イニシャル</prop>
                 </props>
             </property>
         </bean>
@@ -164,7 +114,7 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">locality</prop>
+                    <prop key="id">l</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
                     <prop key="saml2.name">urn:oid:2.5.4.7</prop>
                     <prop key="saml1.name">urn:mace:dir:attribute-def:l</prop>
@@ -183,14 +133,21 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">stateProvince</prop>
+                    <prop key="id">mail</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.8</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:st</prop>
-                    <prop key="displayName.en">State or province name</prop>
-                    <prop key="displayName.ja">都道府県もしくは州や省(ST)</prop>
-                    <prop key="description.en">State or province name</prop>
-                    <prop key="description.ja">州名や省名 国によって異なり日本の場合は都道府県名</prop>
+                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.3</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:mail</prop>
+                    <prop key="displayName.en">E-mail</prop>
+                    <prop key="displayName.de">E-Mail</prop>
+                    <prop key="displayName.fr">Email</prop>
+                    <prop key="displayName.it">E-mail</prop>
+                    <prop key="displayName.ja">メールアドレス</prop>
+                    <prop key="description.en">E-Mail: Preferred address for e-mail to be sent to this person</prop>
+                    <prop key="description.de">E-Mail-Adresse</prop>
+                    <prop key="description.de-ch">E-Mail Adresse</prop>
+                    <prop key="description.fr">Adresse de courrier électronique</prop>
+                    <prop key="description.it">E-Mail: l'indirizzo e-mail preferito dall'utente</prop>
+                    <prop key="description.ja">メールアドレス</prop>
                 </props>
             </property>
         </bean>
@@ -198,20 +155,20 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">street</prop>
+                    <prop key="id">mobile</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.9</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:street</prop>
-                    <prop key="displayName.en">Street</prop>
-                    <prop key="displayName.de">Straße</prop>
-                    <prop key="displayName.de-ch">Strasse</prop>
-                    <prop key="displayName.fr">Rue</prop>
-                    <prop key="displayName.ja">通り</prop>
-                    <prop key="description.en">Street address</prop>
-                    <prop key="description.de">Name der Straße</prop>
-                    <prop key="description.de-ch">Strassenadresse</prop>
-                    <prop key="description.fr">Nom de rue</prop>
-                    <prop key="description.ja">通りおよび番地</prop>
+                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.41</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:mobile</prop>
+                    <prop key="displayName.en">Mobile phone number</prop>
+                    <prop key="displayName.de">Telefon Mobil</prop>
+                    <prop key="displayName.fr">Numéro de mobile</prop>
+                    <prop key="displayName.it">Numero di cellulare</prop>
+                    <prop key="displayName.ja">携帯電話番号</prop>
+                    <prop key="description.en">Mobile phone number</prop>
+                    <prop key="description.de">Mobile Telefonnummer</prop>
+                    <prop key="description.fr">Numéro de teléphone mobile</prop>
+                    <prop key="description.it">Numero di cellulare</prop>
+                    <prop key="description.ja">携帯電話の電話番号</prop>
                 </props>
             </property>
         </bean>
@@ -219,7 +176,7 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">organizationName</prop>
+                    <prop key="id">o</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
                     <prop key="saml2.name">urn:oid:2.5.4.10</prop>
                     <prop key="saml1.name">urn:mace:dir:attribute-def:o</prop>
@@ -238,7 +195,7 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">organizationalUnit</prop>
+                    <prop key="id">ou</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
                     <prop key="saml2.name">urn:oid:2.5.4.11</prop>
                     <prop key="saml1.name">urn:mace:dir:attribute-def:ou</prop>
@@ -257,18 +214,12 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">title</prop>
+                    <prop key="id">pager</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.12</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:title</prop>
-                    <prop key="displayName.en">Title</prop>
-                    <prop key="displayName.de">Titel</prop>
-                    <prop key="displayName.fr">Title</prop>
-                    <prop key="displayName.ja">肩書き</prop>
-                    <prop key="description.en">Title of a person</prop>
-                    <prop key="description.de">Titel der Person</prop>
-                    <prop key="description.fr">Titre de la personne</prop>
-                    <prop key="description.ja">利用者の肩書き</prop>
+                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.42</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:pager</prop>
+                    <prop key="displayName.en">Pager number</prop>
+                    <prop key="description.en">Pager number</prop>
                 </props>
             </property>
         </bean>
@@ -340,6 +291,64 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
+                    <prop key="id">sn</prop>
+                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.4</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:sn</prop>
+                    <prop key="displayName.en">Surname</prop>
+                    <prop key="displayName.de">Nachname</prop>
+                    <prop key="displayName.fr">Nom de famille</prop>
+                    <prop key="displayName.it">Cognome</prop>
+                    <prop key="displayName.ja">姓</prop>
+                    <prop key="description.en">Surname or family name</prop>
+                    <prop key="description.de">Familienname</prop>
+                    <prop key="description.fr">Nom de famille de l'utilisateur.</prop>
+                    <prop key="description.it">Cognome dell'utilizzatore</prop>
+                    <prop key="description.ja">氏名(姓)の英語表記</prop>
+                </props>
+            </property>
+        </bean>
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
+                    <prop key="id">st</prop>
+                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.8</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:st</prop>
+                    <prop key="displayName.en">State or province name</prop>
+                    <prop key="displayName.ja">都道府県もしくは州や省(ST)</prop>
+                    <prop key="description.en">State or province name</prop>
+                    <prop key="description.ja">州名や省名 国によって異なり日本の場合は都道府県名</prop>
+                </props>
+            </property>
+        </bean>
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
+                    <prop key="id">street</prop>
+                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.9</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:street</prop>
+                    <prop key="displayName.en">Street</prop>
+                    <prop key="displayName.de">Straße</prop>
+                    <prop key="displayName.de-ch">Strasse</prop>
+                    <prop key="displayName.fr">Rue</prop>
+                    <prop key="displayName.ja">通り</prop>
+                    <prop key="description.en">Street address</prop>
+                    <prop key="description.de">Name der Straße</prop>
+                    <prop key="description.de-ch">Strassenadresse</prop>
+                    <prop key="description.fr">Nom de rue</prop>
+                    <prop key="description.ja">通りおよび番地</prop>
+                </props>
+            </property>
+        </bean>
+
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
                     <prop key="id">telephoneNumber</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
                     <prop key="saml2.name">urn:mace:dir:attribute-def:telephoneNumber</prop>
@@ -357,44 +366,43 @@
                 </props>
             </property>
         </bean>
-
+        
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">givenName</prop>
+                    <prop key="id">title</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.42</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:givenName</prop>
-                    <prop key="displayName.en">Given name</prop>
-                    <prop key="displayName.de">Vorname</prop>
-                    <prop key="displayName.fr">Prénom</prop>
-                    <prop key="displayName.it">Nome</prop>
-                    <prop key="displayName.ja">名</prop>
-                    <prop key="description.en">Given name of a person</prop>
-                    <prop key="description.de">Vorname</prop>
-                    <prop key="description.fr">Prénom de l'utilisateur</prop>
-                    <prop key="description.it">Nome</prop>
-                    <prop key="description.ja">氏名(名)の英語表記</prop>
+                    <prop key="saml2.name">urn:oid:2.5.4.12</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:title</prop>
+                    <prop key="displayName.en">Title</prop>
+                    <prop key="displayName.de">Titel</prop>
+                    <prop key="displayName.fr">Title</prop>
+                    <prop key="displayName.ja">肩書き</prop>
+                    <prop key="description.en">Title of a person</prop>
+                    <prop key="description.de">Titel der Person</prop>
+                    <prop key="description.fr">Titre de la personne</prop>
+                    <prop key="description.ja">利用者の肩書き</prop>
                 </props>
             </property>
         </bean>
-
+        
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
-                    <prop key="id">initials</prop>
+                    <prop key="id">uid</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:2.5.4.43</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:initials</prop>
-                    <prop key="displayName.en">Initials</prop>
-                    <prop key="displayName.de">Initialen</prop>
-                    <prop key="displayName.fr">Initiales</prop>
-                    <prop key="displayName.ja">イニシャル</prop>
-                    <prop key="description.en">Initials</prop>
-                    <prop key="description.de">Anfangsbuchstaben des Namens</prop>
-                    <prop key="description.de-ch">Die Anfangsbuchstaben</prop>
-                    <prop key="description.fr">L' initiales</prop>
-                    <prop key="description.ja">イニシャル</prop>
+                    <prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.1</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:uid</prop>
+                    <prop key="displayName.en">User ID</prop>
+                    <prop key="displayName.de">Benutzer-ID</prop>
+                    <prop key="displayName.fr">ID utilisateur</prop>
+                    <prop key="displayName.it">ID dell'utente</prop>
+                    <prop key="displayName.ja">ユーザID</prop>
+                    <prop key="description.en">A unique identifier for a person, mainly used for user identification within the user's home organization.</prop>
+                    <prop key="description.de">Eine eindeutige Nummer für eine Person, welche hauptsächlich zur Identifikation innerhalb der Organisation benutzt wird.</prop>
+                    <prop key="description.fr">Identifiant de connexion d'une personnes sur les systèmes informatiques.</prop>
+                    <prop key="description.it">Identificativo unico della persona, usato per l'identificazione dell'utente all'interno della organizzazione di appartenenza.</prop>
+                    <prop key="description.ja">所属機関内で一意の利用者識別子</prop>
                 </props>
             </property>
         </bean>
@@ -532,6 +540,27 @@
         <bean parent="shibboleth.TranscodingProperties">
             <property name="properties">
                 <props merge="true">
+                    <prop key="id">eduPersonAssurance</prop>
+                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
+                    <prop key="saml2.name">urn:oid:1.3.6.1.4.1.5923.1.1.1.11</prop>
+                    <prop key="saml1.name">urn:mace:dir:attribute-def:eduPersonAssurance</prop>
+                    <prop key="displayName.en">Assurance Level</prop>
+                    <prop key="displayName.de">Vertrauensgrad</prop>
+                    <prop key="displayName.fr">Niveau de confiance</prop>
+                    <prop key="displayName.it">Livello di sicurezza</prop>
+                    <prop key="displayName.ja">保証レベル</prop>
+                    <prop key="description.en">Set of URIs that assert compliance with specific standards for identity assurance.</prop>
+                    <prop key="description.de">URIs die eine gewisse Zusicherung für spezifische Standards des Vertrauens beinhalten</prop>
+                    <prop key="description.fr">Un ensemble d'URI qui attestent la conformité selon un standard pour les niveaux d'assurance d'identités</prop>
+                    <prop key="description.it">Un insieme di URI che asseriscono l'osservanza dei livelli di sicurezza richiesti</prop>
+                    <prop key="description.ja">IDの保証レベルに関して特定の基準に準拠していることを示すURI</prop>
+                </props>
+            </property>
+        </bean>
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
                     <prop key="id">eduPersonEntitlement</prop>
                     <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
                     <prop key="saml2.name">urn:oid:1.3.6.1.4.1.5923.1.1.1.7</prop>
@@ -654,27 +683,6 @@
             </property>
         </bean>
 
-        <bean parent="shibboleth.TranscodingProperties">
-            <property name="properties">
-                <props merge="true">
-                    <prop key="id">eduPersonAssurance</prop>
-                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
-                    <prop key="saml2.name">urn:oid:1.3.6.1.4.1.5923.1.1.1.11</prop>
-                    <prop key="saml1.name">urn:mace:dir:attribute-def:eduPersonAssurance</prop>
-                    <prop key="displayName.en">Assurance Level</prop>
-                    <prop key="displayName.de">Vertrauensgrad</prop>
-                    <prop key="displayName.fr">Niveau de confiance</prop>
-                    <prop key="displayName.it">Livello di sicurezza</prop>
-                    <prop key="displayName.ja">保証レベル</prop>
-                    <prop key="description.en">Set of URIs that assert compliance with specific standards for identity assurance.</prop>
-                    <prop key="description.de">URIs die eine gewisse Zusicherung für spezifische Standards des Vertrauens beinhalten</prop>
-                    <prop key="description.fr">Un ensemble d'URI qui attestent la conformité selon un standard pour les niveaux d'assurance d'identités</prop>
-                    <prop key="description.it">Un insieme di URI che asseriscono l'osservanza dei livelli di sicurezza richiesti</prop>
-                    <prop key="description.ja">IDの保証レベルに関して特定の基準に準拠していることを示すURI</prop>
-                </props>
-            </property>
-        </bean>
-
         <!-- Semi-deprecated eduPersonUniqueId, should be phased out in favor of SAML subject-id replacement below. -->
 
         <bean parent="shibboleth.TranscodingProperties">

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list