[java-idp-translations] branch main updated: Refresh samlSubject mappings with NameID rules.

Codeberg noreply at shibboleth.net
Tue Apr 14 20:48:57 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-idp-translations.

View the commit online:
https://codeberg.org/Shibboleth/java-idp-translations/commit/1034ba3ed38fd264b2f79e652fcabe399721a9dc

The following commit(s) were added to refs/heads/main by this push:
     new 1034ba3  Refresh samlSubject mappings with NameID rules.
1034ba3 is described below

commit 1034ba3ed38fd264b2f79e652fcabe399721a9dc
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Tue Apr 14 16:48:45 2026 -0400

    Refresh samlSubject mappings with NameID rules.
---
 .../5/attributes/samlSubject.xml                   | 74 +++++++++++++++++++++-
 1 file changed, 72 insertions(+), 2 deletions(-)

diff --git a/java-identity-provider/5/attributes/samlSubject.xml b/java-identity-provider/5/attributes/samlSubject.xml
index ec4d696..0072301 100644
--- a/java-identity-provider/5/attributes/samlSubject.xml
+++ b/java-identity-provider/5/attributes/samlSubject.xml
@@ -14,11 +14,15 @@
 
     <!--
     Note that all built-in rules rely on URI-naming and thus include the implied settings:
-    
     <prop key="saml2.nameFormat">urn:oasis:names:tc:SAML:2.0:attrname-format:uri</prop>
+
+    NameID rules are decode-only and apply primarily to SAML proxying as well as future SP plugins.
     -->
 
-    <!-- https://wiki.oasis-open.org/security/SAMLSubjectIDAttr -->
+    <!--
+    http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
+    https://wiki.oasis-open.org/security/SAMLSubjectIDAttr
+    -->
 
     <bean parent="shibboleth.TranscodingRuleLoader">
     <constructor-arg>
@@ -70,6 +74,72 @@
             </property>
         </bean>
 
+        <!-- The most common SAML NameID Formats encountered in the wild. -->
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
+                    <prop key="id">persistent-id</prop>
+                    <prop key="transcoder">SAML2StringNameIDTranscoder</prop>
+                    <prop key="encoder">false</prop>
+                    <prop key="saml2.nameFormat">urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</prop>
+                    <prop key="saml2.defaultQualifiers">true</prop>
+                    <prop key="saml2.valueTemplate">$Name!!$NameQualifier!!$SPNameQualifier</prop>
+                    <prop key="displayName.en">Persistent ID</prop>
+                    <prop key="displayName.de">Persistent ID</prop>
+                    <prop key="displayName.fr">Persistent ID</prop>
+                    <prop key="displayName.it">Persistent ID</prop>
+                    <prop key="displayName.ja">ペアワイズID</prop>
+                    <prop key="description.en">Persistent ID: A unique identifier for a person, different for each service provider</prop>
+                    <prop key="description.de">Persistent ID: Eindeutige Benutzeridentifikation, unterschiedlich pro Service Provider</prop>
+                    <prop key="description.de-ch">Persistent ID: Eindeutige Benützeridentifikation, unterschiedlich pro Service Provider</prop>
+                    <prop key="description.fr">Persistent ID: Un identifiant unique de l'utilisateur, différent pour chaque fournisseur de service</prop>
+                    <prop key="description.it">Persistent ID: identificativo unico della persona, differente per ogni fornitore di servizio</prop>
+                    <prop key="description.ja">フェデレーション内で一意かつSP毎に送出される値が異なる利用者識別子(eduPersonTargetedIDの後継)</prop>
+                </props>
+            </property>
+        </bean>
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
+                    <prop key="id">mail</prop>
+                    <prop key="transcoder">SAML2StringNameIDTranscoder</prop>
+                    <prop key="encoder">false</prop>
+                    <prop key="saml2.nameFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</prop>
+                    <prop key="saml2.defaultQualifiers">false</prop>
+                    <prop key="saml2.valueTemplate">$Name</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="displayName.sk">E-mail</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="description.sk">E-mail</prop>
+                </props>
+            </property>
+        </bean>
+
+        <bean parent="shibboleth.TranscodingProperties">
+            <property name="properties">
+                <props merge="true">
+                    <prop key="id">distinguishedName</prop>
+                    <prop key="transcoder">SAML2StringNameIDTranscoder</prop>
+                    <prop key="encoder">false</prop>
+                    <prop key="saml2.nameFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</prop>
+                    <prop key="saml2.defaultQualifiers">false</prop>
+                    <prop key="saml2.valueTemplate">$Name</prop>
+                    <prop key="displayName.en">Distinguished name</prop>
+                </props>
+            </property>
+        </bean>
+
     </list>
     </constructor-arg>
     </bean>

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


More information about the commits mailing list