[java-identity-provider] branch main updated: IDP-1899 - Add default rules for schacHomeOrganization to config.
Scott Cantor
cantor.2 at osu.edu
Tue Jan 25 20:43:13 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=9610fc93b9cc6dc245a3eafcf911ba8611fda413
The following commit(s) were added to refs/heads/main by this push:
new 9610fc93b IDP-1899 - Add default rules for schacHomeOrganization to config.
9610fc93b is described below
commit 9610fc93b9cc6dc245a3eafcf911ba8611fda413
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jan 25 15:43:10 2022 -0500
IDP-1899 - Add default rules for schacHomeOrganization to config.
https://shibboleth.atlassian.net/browse/IDP-1899
---
.../src/main/resources/conf/attribute-filter.xml | 8 +
.../src/main/resources/conf/attribute-resolver.xml | 5 +-
.../resources/conf/attributes/default-rules.xml | 1 +
.../src/main/resources/conf/attributes/schac.xml | 230 +++++++++++++++++++++
.../src/test/resources/conf/attribute-filter.xml | 7 +
.../src/test/resources/conf/attribute-resolver.xml | 5 +-
.../resources/conf/attributes/default-rules.xml | 3 +-
7 files changed, 256 insertions(+), 3 deletions(-)
diff --git a/idp-conf/src/main/resources/conf/attribute-filter.xml b/idp-conf/src/main/resources/conf/attribute-filter.xml
index 7787d0c53..c2bf890ec 100644
--- a/idp-conf/src/main/resources/conf/attribute-filter.xml
+++ b/idp-conf/src/main/resources/conf/attribute-filter.xml
@@ -14,6 +14,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
+
+ <!-- Release home org signifier to everybody. -->
+ <AttributeFilterPolicy id="alwaysRelease">
+ <PolicyRequirementRule xsi:type="ANY" />
+
+ <AttributeRule attributeID="schacHomeOrganization" permitAny="true" />
+ </AttributeFilterPolicy>
+
<!--
Example rule relying on a locally applied tag in metadata to trigger attribute
release of some specific attributes. Add additional attributes as desired.
diff --git a/idp-conf/src/main/resources/conf/attribute-resolver.xml b/idp-conf/src/main/resources/conf/attribute-resolver.xml
index 8d16a59b9..dd5545fee 100644
--- a/idp-conf/src/main/resources/conf/attribute-resolver.xml
+++ b/idp-conf/src/main/resources/conf/attribute-resolver.xml
@@ -66,7 +66,10 @@ list of possible components and their options.
<!-- Data Connectors -->
<!-- ========================================== -->
- <DataConnector id="staticAttributes" xsi:type="Static">
+ <DataConnector id="staticAttributes" xsi:type="Static" exportAttributes="schacHomeOrganization">
+ <Attribute id="schacHomeOrganization">
+ <Value>%{idp.scope}</Value>
+ </Attribute>
<Attribute id="affiliation">
<Value>member</Value>
</Attribute>
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 c865157ee..db8f1a1ee 100644
--- a/idp-conf/src/main/resources/conf/attributes/default-rules.xml
+++ b/idp-conf/src/main/resources/conf/attributes/default-rules.xml
@@ -23,6 +23,7 @@
<import resource="inetOrgPerson.xml" />
<import resource="eduPerson.xml" />
<import resource="eduCourse.xml" />
+ <import resource="schac.xml" />
<import resource="samlSubject.xml" />
</beans>
diff --git a/idp-conf/src/main/resources/conf/attributes/schac.xml b/idp-conf/src/main/resources/conf/attributes/schac.xml
new file mode 100644
index 000000000..24c9a5a42
--- /dev/null
+++ b/idp-conf/src/main/resources/conf/attributes/schac.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <bean parent="shibboleth.TranscodingRuleLoader">
+ <constructor-arg>
+ <list>
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacMotherTongue</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.1</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.1</prop>
+ <prop key="displayName.en">Mother Tongue</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacGender</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.2</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.2</prop>
+ <prop key="displayName.en">Gender</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacDateOfBirth</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.3</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.3</prop>
+ <prop key="displayName.en">Date or Birth</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacPlaceOfBirth</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.4</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.4</prop>
+ <prop key="displayName.en">Place of Birth</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacCountryOfCitizenship</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.5</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.5</prop>
+ <prop key="displayName.en">Country of Citizenship</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacHomeOrganization</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.9</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.9</prop>
+ <prop key="displayName.en">Home Organization</prop>
+ <prop key="displayName.fi">Kotiorganisaatio</prop>
+ <prop key="displayDescription.en">The domain name of the person's home organisation</prop>
+ <prop key="displayDescription.fi">Henkilön kotiorganisaation domain-nimi</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacHomeOrganizationType</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.10</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.10</prop>
+ <prop key="displayName.en">Home organization type</prop>
+ <prop key="displayName.fi">Kotiorganisaation tyyppi</prop>
+ <prop key="displayDescription.en">Home organisation type: university, polytechnic, etc</prop>
+ <prop key="displayDescription.fi">Kotiorganisaation tyyppi: yliopisto, ammattikorkeakoulu jne</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacCountryOfResidence</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.11</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.11</prop>
+ <prop key="displayName.en">Country of Reseidence</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacUserPresenceID</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.12</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.12</prop>
+ <prop key="displayName.en">User Presence ID</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacPersonalPosition</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.13</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.13</prop>
+ <prop key="displayName.en">Personal Position</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacPersonalUniqueCode</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.14</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.14</prop>
+ <prop key="displayName.en">Personal Unique Code</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacPersonalUniqueID</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.15</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.15</prop>
+ <prop key="displayName.en">Personal Unique ID</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacExpiryDate</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.17</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.17</prop>
+ <prop key="displayName.en">Expiry Date</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacUserPrivateAttribute</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.18</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.18</prop>
+ <prop key="displayName.en">User Private Attribute</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacUserStatus</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.19</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.19</prop>
+ <prop key="displayName.en">User Status</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacProjectMembership</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.20</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.20</prop>
+ <prop key="displayName.en">Project Membership</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean parent="shibboleth.TranscodingProperties">
+ <property name="properties">
+ <props merge="true">
+ <prop key="id">schacProjectSpecificRole</prop>
+ <prop key="transcoder">SAML2StringTranscoder</prop>
+ <prop key="saml2.name">urn:oid:1.3.6.1.4.1.25178.1.2.21</prop>
+ <prop key="saml1.name">urn:oid:1.3.6.1.4.1.25178.1.2.21</prop>
+ <prop key="displayName.en">Project Specific Role</prop>
+ </props>
+ </property>
+ </bean>
+ </list>
+ </constructor-arg>
+ </bean>
+</beans>
diff --git a/idp-conf/src/test/resources/conf/attribute-filter.xml b/idp-conf/src/test/resources/conf/attribute-filter.xml
index 2ae3b0dc3..2cced080e 100644
--- a/idp-conf/src/test/resources/conf/attribute-filter.xml
+++ b/idp-conf/src/test/resources/conf/attribute-filter.xml
@@ -16,6 +16,13 @@
xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
urn:mace:shibboleth:2.0:afp:oidc http://shibboleth.net/schema/oidc/shibboleth-afp-oidc.xsd">
+ <!-- Release home org signifier to everybody. -->
+ <AttributeFilterPolicy id="alwaysRelease">
+ <PolicyRequirementRule xsi:type="ANY" />
+
+ <AttributeRule attributeID="schacHomeOrganization" permitAny="true" />
+ </AttributeFilterPolicy>
+
<!--
Example rule relying on a locally applied tag in metadata to trigger attribute
release of some specific attributes. Add additional attributes as desired.
diff --git a/idp-conf/src/test/resources/conf/attribute-resolver.xml b/idp-conf/src/test/resources/conf/attribute-resolver.xml
index 2f5496472..5b1fbdabc 100644
--- a/idp-conf/src/test/resources/conf/attribute-resolver.xml
+++ b/idp-conf/src/test/resources/conf/attribute-resolver.xml
@@ -97,7 +97,10 @@ list of possible components and their options.
</DataConnector>
-->
- <DataConnector id="staticAttributes" xsi:type="Static">
+ <DataConnector id="staticAttributes" xsi:type="Static" exportAttributes="schacHomeOrganization">
+ <Attribute id="schacHomeOrganization">
+ <Value>%{idp.scope}</Value>
+ </Attribute>
<Attribute id="affiliation">
<Value>member</Value>
</Attribute>
diff --git a/idp-conf/src/test/resources/conf/attributes/default-rules.xml b/idp-conf/src/test/resources/conf/attributes/default-rules.xml
index 7c6c1e916..4ac3f51e8 100644
--- a/idp-conf/src/test/resources/conf/attributes/default-rules.xml
+++ b/idp-conf/src/test/resources/conf/attributes/default-rules.xml
@@ -23,8 +23,9 @@
<import resource="inetOrgPerson.xml" />
<import resource="eduPerson.xml" />
<import resource="eduCourse.xml" />
+ <import resource="schac.xml" />
<import resource="samlSubject.xml" />
-<!-- <import resource="oidc-claim-rules.xml" /> -->
+ <import resource="oidc-claim-rules.xml" />
</beans>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list