<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nief.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gtkrug</id>
	<title>NIEF Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nief.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gtkrug"/>
	<link rel="alternate" type="text/html" href="https://wiki.nief.org/wiki/Special:Contributions/Gtkrug"/>
	<updated>2026-04-29T16:05:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=319</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=319"/>
		<updated>2022-05-24T18:23:06Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample Attribute Resolver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
==Changes==&lt;br /&gt;
An important change is that Shibboleth IDP 4 has a new &#039;&#039;&#039;secrets.properties&#039;&#039;&#039; file within the credentials directory.  This file will override credentials that are put into the properties file in the config file likely leading to problems.  Be sure to migrate service credentials into this properties file.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseNIEFAttributes&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Resolver ==&lt;br /&gt;
This sample attribute resolver uses the NIEF Attribute Definitions above.  The &amp;quot;Simple&amp;quot; data connector type is a custom data connector that reads attributes from files on the filesystem.  The dataconnectors are also specified in this same file, but that is not included in this sample.  This requires specific attribute ids, that is how the attribute definition is applied to the attribute:&lt;br /&gt;
    &amp;lt;!-- Usually you need the userID resolved during authentication as an input to other data connectors /&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;uid&amp;quot; xsi:type=&amp;quot;PrincipalName&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ========================================== --&amp;gt;&lt;br /&gt;
    &amp;lt;!--      Attribute Definitions                 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ========================================== --&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;recipientId&amp;quot; xsi:type=&amp;quot;ScriptedAttribute&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;Script&amp;gt; &amp;lt;![CDATA[&lt;br /&gt;
             recipientIdString = requestContext.getPeerEntityId();&lt;br /&gt;
             recipientId.addValue(recipientIdString);&lt;br /&gt;
         ]]&amp;gt;&amp;lt;/Script&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;nief28CFR&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;CFRCertified&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefEmail&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;email&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefGivenName&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;firstname&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefSurName&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;lastname&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefIdentityProviderId&amp;quot; xsi:type=&amp;quot;Template&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;staticAttributes&amp;quot; attributeNames=&amp;quot;orgid&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Template&amp;gt;&lt;br /&gt;
          &amp;lt;![CDATA[&lt;br /&gt;
             NIEF:IDP:${orgid}&lt;br /&gt;
          ]]&amp;gt;&lt;br /&gt;
       &amp;lt;/Template&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefEmployer&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;staticAttributes&amp;quot; attributeNames=&amp;quot;employer&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefFedId&amp;quot; xsi:type=&amp;quot;Template&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;staticAttributes&amp;quot; attributeNames=&amp;quot;orgid&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;email&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Template&amp;gt;&lt;br /&gt;
          &amp;lt;![CDATA[&lt;br /&gt;
               NIEF:IDP:${orgid}:USER:${email}&lt;br /&gt;
          ]]&amp;gt;&lt;br /&gt;
        &amp;lt;/Template&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefAAL&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;aal&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefIAL&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;ial&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefORI&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;ori&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefPSO&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;pso&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeDefinition id=&amp;quot;niefSLEO&amp;quot; xsi:type=&amp;quot;Simple&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;InputDataConnector ref=&amp;quot;File&amp;quot; attributeNames=&amp;quot;sleo&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeDefinition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dataconnectors ===&lt;br /&gt;
Data connectors looks close to the same as Shibboleth 3, note the &#039;&#039;&#039;InputAttributeDefintion&#039;&#039;&#039; field is used instead of the old &#039;&#039;&#039;Dependency&#039;&#039;&#039; concept in Shib3. Here are three sample data connectors, two are built-in &#039;static&#039; and &#039;HTTP&#039;, while &#039;Simple&#039; is the one GTRI created that serves from the filesystem:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;DataConnector id=&amp;quot;staticAttributes&amp;quot; xsi:type=&amp;quot;Static&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Attribute id=&amp;quot;employer&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Value&amp;gt;Texas National Guard (DEMO)&amp;lt;/Value&amp;gt;&lt;br /&gt;
        &amp;lt;/Attribute&amp;gt;&lt;br /&gt;
        &amp;lt;Attribute id=&amp;quot;orgid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Value&amp;gt;tng-interop-idp&amp;lt;/Value&amp;gt;&lt;br /&gt;
        &amp;lt;/Attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/DataConnector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;DataConnector id=&amp;quot;File&amp;quot; xsi:type=&amp;quot;txdps:Test&amp;quot;&lt;br /&gt;
                   pathToAttributeFiles=&amp;quot;/opt/shibboleth-idp/users/&amp;quot;&lt;br /&gt;
                   uidAttribute=&amp;quot;uid&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;InputAttributeDefinition ref=&amp;quot;uid&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/DataConnector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;DataConnector id=&amp;quot;iirHTTP&amp;quot; xsi:type=&amp;quot;HTTP&amp;quot;&lt;br /&gt;
      httpClientRef=&amp;quot;shibboleth.NonCachingHttpClient&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;InputAttributeDefinition ref=&amp;quot;niefEmail&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;URLTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        https://tca.iir.com/api/LookupTestCompleted?code=D7utRK84NO8sDTYRjh0UGP3fNXLjrH96FMlKs21YqcBpyTeZp6k/rw==&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/URLTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;BodyTemplate MIMEType=&amp;quot;application/json&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        { &#039;email&#039;: &#039;$niefEmail.get(0)&#039; }&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/BodyTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;ResponseMapping&amp;gt;&lt;br /&gt;
        &amp;lt;Script&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        var logger = Java.type(&amp;quot;org.slf4j.LoggerFactory&amp;quot;).getLogger(&amp;quot;net.shibboleth.idp.attribute&amp;quot;);&lt;br /&gt;
        var HashSet = Java.type(&amp;quot;java.util.HashSet&amp;quot;);&lt;br /&gt;
        var HttpClientSupport = Java.type(&amp;quot;net.shibboleth.utilities.java.support.httpclient.HttpClientSupport&amp;quot;);&lt;br /&gt;
        var IdPAttribute = Java.type(&amp;quot;net.shibboleth.idp.attribute.IdPAttribute&amp;quot;);&lt;br /&gt;
        var StringAttributeValue = Java.type(&amp;quot;net.shibboleth.idp.attribute.StringAttributeValue&amp;quot;);&lt;br /&gt;
        // Limits length to 64k&lt;br /&gt;
        var body = HttpClientSupport.toString(response.getEntity(), &amp;quot;UTF-8&amp;quot;, 65536);&lt;br /&gt;
        logger.info(&amp;quot;Query Response = &amp;quot; + body);&lt;br /&gt;
        var result = JSON.parse(body);&lt;br /&gt;
        //logger.info(&amp;quot;Parsed JSON Completed = &amp;quot; + result.completed);&lt;br /&gt;
        var attr = new IdPAttribute(&amp;quot;CFRCertified&amp;quot;);&lt;br /&gt;
        var values = new HashSet();&lt;br /&gt;
        if (result.completed) {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;true&amp;quot;));&lt;br /&gt;
        } else {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;false&amp;quot;));&lt;br /&gt;
        }&lt;br /&gt;
        attr.setValues(values);&lt;br /&gt;
        connectorResults.add(attr);&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
        &amp;lt;/Script&amp;gt;&lt;br /&gt;
    &amp;lt;/ResponseMapping&amp;gt;&lt;br /&gt;
    &amp;lt;ResultCache expireAfterWrite=&amp;quot;PT5M&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/DataConnector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Metadata Providers ==&lt;br /&gt;
The following are sample metadata providers that are useful for systems that are working with NIEF.  The first is a sample of the NIEF Production metadata provider and the second is an example of the NIEF Testbed provider.  In both cases the associated certificate would need to be downloaded and put into the credentials directory for this provider to work:&lt;br /&gt;
* [[https://nief.org/trust-fabric/nief-ca.crt NIEF CA Cert]]&lt;br /&gt;
* [[https://ref.gfipm.net/ref-gfipm-ca.crt NIEF Testbed Cert]]&lt;br /&gt;
&lt;br /&gt;
=== NIEF Metadata Provider (Production) ===&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;NiefMetadata&amp;quot; xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot; backingFile=&amp;quot;%{idp.home}/metadata/nief-metadata.xml&amp;quot; metadataURL=&amp;quot;https://nief.org/trust-fabric/nief-trust-fabric.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/nief-ca.cer&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NIEF Testbed Metadata Provider ===&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Connector Information ==&lt;br /&gt;
&lt;br /&gt;
Shibboleth 4 supports more DataConnector types than previous versions of Shibbboleth.&lt;br /&gt;
&lt;br /&gt;
=== HTTPConnector ===&lt;br /&gt;
Shibboleth Documentation on this connector: https://wiki.shibboleth.net/confluence/display/IDP4/HTTPConnector&lt;br /&gt;
&lt;br /&gt;
GTRI created a sample HTTPConnector that implementes the IIR protocol: https://wiki.nief.org/wiki/Shibboleth_HTTP_Dataconnector&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=279</id>
		<title>Selinux Tips</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=279"/>
		<updated>2022-01-11T20:42:44Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Proxying */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
This page just has a few Selinux tips/reminders&lt;br /&gt;
&lt;br /&gt;
==File Access==&lt;br /&gt;
If selinux is blocking access to files that httpd should be able to read it may be they are missing selinux flags:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;semanage fcontext -a -t httpd_sys_content_t &amp;quot;[FILE OR PATH]&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Proxying==&lt;br /&gt;
&lt;br /&gt;
When proxying backend services with httpd, you typically need to do two things:&lt;br /&gt;
&lt;br /&gt;
* Allow http to make connections: &#039;&#039;&#039;setsebool -P httpd_can_network_connect on&#039;&#039;&#039;&lt;br /&gt;
* Allow the ports for your backend connections: &#039;&#039;&#039;semanage port -a -t http_port_t -p tcp ####&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=273</id>
		<title>Selinux Tips</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=273"/>
		<updated>2021-05-13T19:00:33Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Proxying */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
This page just has a few Selinux tips/reminders&lt;br /&gt;
&lt;br /&gt;
==Proxying==&lt;br /&gt;
&lt;br /&gt;
When proxying backend services with httpd, you typically need to do two things:&lt;br /&gt;
&lt;br /&gt;
* Allow http to make connections: &#039;&#039;&#039;setsebool -P httpd_can_network_connect on&#039;&#039;&#039;&lt;br /&gt;
* Allow the ports for your backend connections: &#039;&#039;&#039;semanage port -a -t http_port_t -p tcp ####&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=272</id>
		<title>Selinux Tips</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Selinux_Tips&amp;diff=272"/>
		<updated>2021-05-13T19:00:06Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: Created page with &amp;quot;==About== This page just has a few Selinux tips/reminders  ==Proxying==  When proxying backend services with httpd, you typically need to do two things:  * Allow http to make...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
This page just has a few Selinux tips/reminders&lt;br /&gt;
&lt;br /&gt;
==Proxying==&lt;br /&gt;
&lt;br /&gt;
When proxying backend services with httpd, you typically need to do two things:&lt;br /&gt;
&lt;br /&gt;
* Allow http to make connections: &#039;&#039;setsebool -P httpd_can_network_connect on&#039;&#039;&lt;br /&gt;
* Allow the ports for your backend connections: &#039;&#039;semanage port -a -t http_port_t -p tcp ####&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=NIEF_Implementers_Wiki&amp;diff=271</id>
		<title>NIEF Implementers Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=NIEF_Implementers_Wiki&amp;diff=271"/>
		<updated>2021-05-13T18:58:13Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Detailed Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting started ==&lt;br /&gt;
* [[How to Implement a NIEF Identity Provider]]&lt;br /&gt;
* [[How to Implement a NIEF Service Provider]]&lt;br /&gt;
&lt;br /&gt;
== Detailed Articles ==&lt;br /&gt;
* [[Legacy Information]]&lt;br /&gt;
* [[NIEF Testbed]]&lt;br /&gt;
* [[ADFS 3.0 Configuration Guide]]&lt;br /&gt;
* [[F5 Implementation]]&lt;br /&gt;
* [[SecureAuth Implementation]]&lt;br /&gt;
* [[NetIQ Access Manager]]&lt;br /&gt;
* [[Simple SAML PHP]]&lt;br /&gt;
* [[Generating Certificates with OpenSSL]]&lt;br /&gt;
* [[ASP.NET Shibboleth Debug]]&lt;br /&gt;
* [[Editing SAML2 Metadata]]&lt;br /&gt;
* [[Shibboleth IDP3 Notes]]&lt;br /&gt;
* [[MITREid Connect]]&lt;br /&gt;
* [[NIEF Attributes within OIDC]]&lt;br /&gt;
* [[OIDC RP]]&lt;br /&gt;
* [[PIV-I Identity Provider]]&lt;br /&gt;
* [[FIDO/GLUU Identity Provider]]&lt;br /&gt;
* [[FIDO Credential Lifecycle Guide]]&lt;br /&gt;
* [[Shibboleth IDP4 Notes]]&lt;br /&gt;
* [[Selinux Tips]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_HTTP_Dataconnector&amp;diff=270</id>
		<title>Shibboleth HTTP Dataconnector</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_HTTP_Dataconnector&amp;diff=270"/>
		<updated>2021-05-10T17:40:37Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* IIR Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
This is a sample of the [https://wiki.shibboleth.net/confluence/display/IDP30/HTTPConnector Shibboleth HTTP DataConnector].&lt;br /&gt;
&lt;br /&gt;
==IIR Sample==&lt;br /&gt;
The URL seen on line 6 is a test URL that always returns false.  You will also need to contact IIR to get an authorization code to use the service.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;DataConnector id=&amp;quot;myHTTP&amp;quot; xsi:type=&amp;quot;HTTP&amp;quot;&lt;br /&gt;
      httpClientRef=&amp;quot;shibboleth.NonCachingHttpClient&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;InputAttributeDefinition ref=&amp;quot;EmailAddress&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;URLTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        https://tca.iir.com/api/LookupTestNotCompleted?code=[get code from IIR]&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/URLTemplate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;BodyTemplate MIMEType=&amp;quot;application/json&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        { &#039;email&#039;: &#039;$EmailAddress.get(0)&#039; }&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/BodyTemplate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ResponseMapping&amp;gt;&lt;br /&gt;
        &amp;lt;Script&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        var logger = Java.type(&amp;quot;org.slf4j.LoggerFactory&amp;quot;).getLogger(&amp;quot;net.shibboleth.idp.attribute&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        var HashSet = Java.type(&amp;quot;java.util.HashSet&amp;quot;);&lt;br /&gt;
        var HttpClientSupport = Java.type(&amp;quot;net.shibboleth.utilities.java.support.httpclient.HttpClientSupport&amp;quot;);&lt;br /&gt;
        var IdPAttribute = Java.type(&amp;quot;net.shibboleth.idp.attribute.IdPAttribute&amp;quot;);&lt;br /&gt;
        var StringAttributeValue = Java.type(&amp;quot;net.shibboleth.idp.attribute.StringAttributeValue&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
        // Limits length to 64k&lt;br /&gt;
        var body = HttpClientSupport.toString(response.getEntity(), &amp;quot;UTF-8&amp;quot;, 65536);&lt;br /&gt;
&lt;br /&gt;
        logger.info(&amp;quot;Query Response = &amp;quot; + body);&lt;br /&gt;
&lt;br /&gt;
        var result = JSON.parse(body);&lt;br /&gt;
  &lt;br /&gt;
        //logger.info(&amp;quot;Parsed JSON Completed = &amp;quot; + result.completed);&lt;br /&gt;
&lt;br /&gt;
        var attr = new IdPAttribute(&amp;quot;CFRCertified&amp;quot;);&lt;br /&gt;
        var values = new HashSet();&lt;br /&gt;
        if (result.completed) {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;true&amp;quot;));&lt;br /&gt;
        } else {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;false&amp;quot;));&lt;br /&gt;
        }&lt;br /&gt;
        attr.setValues(values);&lt;br /&gt;
        connectorResults.add(attr);&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
        &amp;lt;/Script&amp;gt;&lt;br /&gt;
    &amp;lt;/ResponseMapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ResultCache expireAfterWrite=&amp;quot;PT45M&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/DataConnector&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shibboleth.NonCachingHttpClient&#039;&#039;&#039; triggers a deprecation warning, but currently it&#039;s unclear what should replace this client, so we have not updated these instructions at this time.&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=269</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=269"/>
		<updated>2021-05-06T19:11:19Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample attribute-filter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
==Changes==&lt;br /&gt;
An important change is that Shibboleth IDP 4 has a new &#039;&#039;&#039;secrets.properties&#039;&#039;&#039; file within the credentials directory.  This file will override credentials that are put into the properties file in the config file likely leading to problems.  Be sure to migrate service credentials into this properties file.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseNIEFAttributes&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Connector Information ==&lt;br /&gt;
&lt;br /&gt;
Shibboleth 4 supports more DataConnector types than previous versions of Shibbboleth.&lt;br /&gt;
&lt;br /&gt;
=== HTTPConnector ===&lt;br /&gt;
Shibboleth Documentation on this connector: https://wiki.shibboleth.net/confluence/display/IDP4/HTTPConnector&lt;br /&gt;
&lt;br /&gt;
GTRI created a sample HTTPConnector that implementes the IIR protocol: https://wiki.nief.org/wiki/Shibboleth_HTTP_Dataconnector&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=268</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=268"/>
		<updated>2021-05-06T19:10:46Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
==Changes==&lt;br /&gt;
An important change is that Shibboleth IDP 4 has a new &#039;&#039;&#039;secrets.properties&#039;&#039;&#039; file within the credentials directory.  This file will override credentials that are put into the properties file in the config file likely leading to problems.  Be sure to migrate service credentials into this properties file.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Connector Information ==&lt;br /&gt;
&lt;br /&gt;
Shibboleth 4 supports more DataConnector types than previous versions of Shibbboleth.&lt;br /&gt;
&lt;br /&gt;
=== HTTPConnector ===&lt;br /&gt;
Shibboleth Documentation on this connector: https://wiki.shibboleth.net/confluence/display/IDP4/HTTPConnector&lt;br /&gt;
&lt;br /&gt;
GTRI created a sample HTTPConnector that implementes the IIR protocol: https://wiki.nief.org/wiki/Shibboleth_HTTP_Dataconnector&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=267</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=267"/>
		<updated>2021-05-06T19:10:18Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
==Changes==&lt;br /&gt;
An important change is that Shibboleth IDP 4 has a new &#039;&#039;&#039;secret.properties&#039;&#039;&#039; file within the credentials directory.  This file will override credentials that are put into the properties file in the config file likely leading to problems.  Be sure to migrate service credentials into this properties file.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Connector Information ==&lt;br /&gt;
&lt;br /&gt;
Shibboleth 4 supports more DataConnector types than previous versions of Shibbboleth.&lt;br /&gt;
&lt;br /&gt;
=== HTTPConnector ===&lt;br /&gt;
Shibboleth Documentation on this connector: https://wiki.shibboleth.net/confluence/display/IDP4/HTTPConnector&lt;br /&gt;
&lt;br /&gt;
GTRI created a sample HTTPConnector that implementes the IIR protocol: https://wiki.nief.org/wiki/Shibboleth_HTTP_Dataconnector&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_HTTP_Dataconnector&amp;diff=266</id>
		<title>Shibboleth HTTP Dataconnector</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_HTTP_Dataconnector&amp;diff=266"/>
		<updated>2021-05-06T18:04:27Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* IIR Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
This is a sample of the [https://wiki.shibboleth.net/confluence/display/IDP30/HTTPConnector Shibboleth HTTP DataConnector].&lt;br /&gt;
&lt;br /&gt;
==IIR Sample==&lt;br /&gt;
The URL seen on line 6 is a test URL that always returns false.  You will also need to contact IIR to get an authorization code to use the service.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;DataConnector id=&amp;quot;myHTTP&amp;quot; xsi:type=&amp;quot;HTTP&amp;quot;&lt;br /&gt;
      httpClientRef=&amp;quot;shibboleth.NonCachingHttpClient&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;InputAttributeDefinition ref=&amp;quot;EmailAddress&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;URLTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        https://tca.iir.com/api/LookupTestNotCompleted?code=[get code from IIR]&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/URLTemplate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;BodyTemplate MIMEType=&amp;quot;application/json&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        { &#039;email&#039;: &#039;$EmailAddress.get(0)&#039; }&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
    &amp;lt;/BodyTemplate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ResponseMapping&amp;gt;&lt;br /&gt;
        &amp;lt;Script&amp;gt;&lt;br /&gt;
        &amp;lt;![CDATA[&lt;br /&gt;
        var logger = Java.type(&amp;quot;org.slf4j.LoggerFactory&amp;quot;).getLogger(&amp;quot;net.shibboleth.idp.attribute&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        var HashSet = Java.type(&amp;quot;java.util.HashSet&amp;quot;);&lt;br /&gt;
        var HttpClientSupport = Java.type(&amp;quot;net.shibboleth.utilities.java.support.httpclient.HttpClientSupport&amp;quot;);&lt;br /&gt;
        var IdPAttribute = Java.type(&amp;quot;net.shibboleth.idp.attribute.IdPAttribute&amp;quot;);&lt;br /&gt;
        var StringAttributeValue = Java.type(&amp;quot;net.shibboleth.idp.attribute.StringAttributeValue&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
        // Limits length to 64k&lt;br /&gt;
        var body = HttpClientSupport.toString(response.getEntity(), &amp;quot;UTF-8&amp;quot;, 65536);&lt;br /&gt;
&lt;br /&gt;
        logger.info(&amp;quot;Query Response = &amp;quot; + body);&lt;br /&gt;
&lt;br /&gt;
        var result = JSON.parse(body);&lt;br /&gt;
  &lt;br /&gt;
        //logger.info(&amp;quot;Parsed JSON Completed = &amp;quot; + result.completed);&lt;br /&gt;
&lt;br /&gt;
        var attr = new IdPAttribute(&amp;quot;CFRCertified&amp;quot;);&lt;br /&gt;
        var values = new HashSet();&lt;br /&gt;
        if (result.completed) {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;true&amp;quot;));&lt;br /&gt;
        } else {&lt;br /&gt;
           values.add(new StringAttributeValue(&amp;quot;false&amp;quot;));&lt;br /&gt;
        }&lt;br /&gt;
        attr.setValues(values);&lt;br /&gt;
        connectorResults.add(attr);&lt;br /&gt;
        ]]&amp;gt;&lt;br /&gt;
        &amp;lt;/Script&amp;gt;&lt;br /&gt;
    &amp;lt;/ResponseMapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ResultCache expireAfterWrite=&amp;quot;PT45M&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/DataConnector&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=265</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=265"/>
		<updated>2021-05-06T18:01:39Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* GFIPM Reference Fed Metadata Provider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Connector Information ==&lt;br /&gt;
&lt;br /&gt;
Shibboleth 4 supports more DataConnector types than previous versions of Shibbboleth.&lt;br /&gt;
&lt;br /&gt;
=== HTTPConnector ===&lt;br /&gt;
Shibboleth Documentation on this connector: https://wiki.shibboleth.net/confluence/display/IDP4/HTTPConnector&lt;br /&gt;
&lt;br /&gt;
GTRI created a sample HTTPConnector that implementes the IIR protocol: https://wiki.nief.org/wiki/Shibboleth_HTTP_Dataconnector&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=264</id>
		<title>Create a NIEF Attribute Registry</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=264"/>
		<updated>2021-05-06T02:24:27Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Shibboleth 4 has a concept of Attribute Definitions distinct from Resolution and Filtering.  We should generate a conformant XML version representing the NIEF Bundles.  &lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
Here is a sample from Shib 4 install:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;eduPersonOrcid&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder SAML1StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml1.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;ORCID&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;ORCID researcher identifier(s) belonging to a person.&amp;lt;/prop&amp;gt;&lt;br /&gt;
                &amp;lt;/props&amp;gt;&lt;br /&gt;
            &amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;/bean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Template ==&lt;br /&gt;
        &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;InternalAttributeName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:blah&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Attribute Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Attribute Definition.&amp;lt;/prop&amp;gt;&lt;br /&gt;
                &amp;lt;/props&amp;gt;&lt;br /&gt;
            &amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;/bean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NIEF File ==&lt;br /&gt;
       &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefEmail&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:EmailAddressText&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Email Address Text&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Email Address Text&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefEmployer&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:EmployerName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Employer Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Employer Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefFedId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:FederationId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Federation Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Federation Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefGivenName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:GivenName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Given Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Given Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefIdentityProviderId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:IdentityProviderId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Identity Provider Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Identity Provider Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefSurName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:SurName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Sur Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Sur Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefTelephoneNumber&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:TelephoneNumber&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Telephone Number&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Telephone Number&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefIdentityProviderId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:IdentityProviderId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Identity Provider Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Identity Provider Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefUniqueSubjectId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:UniqueSubjectId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Unique Subject Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Unique Subject Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;nief28CFR&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:28CFRCertificationIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;28 CFR Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;28 CFR Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefElectronicAuthenticationAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:user:2.2.0:ElectronicAuthenticationAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Electronic Authentication Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Electronic Authentication Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefORI&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:EmployerORI&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Employer ORI&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Employer ORI&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefEmployerOrganizationGeneralCategoryCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:EmployerOrganizationGeneralCategoryCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Employer Organization General Category Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Employer Organization General Category Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefEmployerStateCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:EmployerStateCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Employer State Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Employer State Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefIdentityProofingAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:IdentityProofingAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Identity Proofing Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Identity Proofing Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefPSO&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:PublicSafetyOfficerIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Public Safety Officer Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Public Safety Officer Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefSLEO&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:SwornLawEnforcementOfficerIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Sworn Law Enforcement Officer Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Sworn Law Enforcement Officer Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefAAL&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:AuthenticatorAssuranceLevel&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Authenticator Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Authenticator Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefFAL&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:FederationAssuranceLevel&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Federation Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Federation Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefIAL&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:IdentityAssuranceLevel&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Identity Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Identity Assurance Level&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefIntelligenceAnalystIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:IntelligenceAnalystIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Intelligence Analyst Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Intelligence Analyst Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:CounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Counter Terrorism Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Counter Terrorism Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:CriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Criminal History Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Criminal History Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Criminal Intelligence Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Criminal Intelligence Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Criminal Investigative Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Criminal Investigative Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefDisplayName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:DisplayName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Display Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Display Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:GovernmentDataSelfSearchHomePrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Government Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Government Data Self Search Home Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefLocalId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:LocalId&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Local Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Local Id&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefNCICCertificationIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:NCICCertificationIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;NCIC Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;NCIC Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefNDExPrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:NDExPrivilegeIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;NDEx Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;NDEx Privilege Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefPCIICertificationIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:PCIICertificationIndicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;PCII Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;PCII Certification Indicator&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;br /&gt;
      &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;niefFICAMAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;nief:1.0:user:FICAMAssuranceLevelCode&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;FICAM Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
                  &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;FICAM Assurance Level Code&amp;lt;/prop&amp;gt;&lt;br /&gt;
              &amp;lt;/props&amp;gt;&lt;br /&gt;
          &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/bean&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=263</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=263"/>
		<updated>2021-05-06T02:23:56Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Ongoing Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;br /&gt;
[[Create a NIEF Attribute Registry]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=262</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=262"/>
		<updated>2021-05-06T02:23:18Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* GFIPM Reference Fed Metadata Provider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ongoing Notes ==&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=261</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=261"/>
		<updated>2021-05-06T02:21:57Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Attribute Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=260</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=260"/>
		<updated>2021-05-06T02:21:36Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Attribute Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definitions ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=259</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=259"/>
		<updated>2021-05-06T02:21:19Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample Attribute Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attribute Definition ==&lt;br /&gt;
Add the [[NIEF Attribute Defintions]] to your Shibboleth 4 IDP and then reference the below table when resolving NIEF attributes within the attribute-resolver.xml:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=258</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=258"/>
		<updated>2021-05-06T02:18:58Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample attribute-filter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
The following attribute filter is designed to release all NIEF Mandatory, NIEF Highly Recommended, and NIEF Recommended attributes to all partners.  It assumes the attributeIDs as defined within the NIEF Attribute Definitions for Shibboleth 4, seen below.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmail&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployer&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFedId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGivenName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSurName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefTelephoneNumber&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProviderId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefUniqueSubjectId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;nief28CFR&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefElectronicAuthenticationAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefORI&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerOrganizationGeneralCategoryCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefEmployerStateCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIdentityProofingAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPSO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefSLEO&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefAAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIAL&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefIntelligenceAnalystIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefDisplayName&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefGovernmentDataSelfSearchHomePrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefLocalId&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNCICCertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefNDExPrivilegeIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefPCIICertificationIndicator&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
       &amp;lt;AttributeRule attributeID=&amp;quot;niefFICAMAssuranceLevelCode&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: [[Create a NIEF Attribute Registry]] definition.&lt;br /&gt;
&lt;br /&gt;
If you add the [[NIEF Attribute Defintions]] you can reference this table for the IDs to use within the Attribute Resolver:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Id Within attribute-resolver.xml&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|niefEmail&lt;br /&gt;
|Email Address Text&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmailAddressText/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployer&lt;br /&gt;
|Employer Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFedId&lt;br /&gt;
|Federation Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/FederationId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGivenName&lt;br /&gt;
|Given Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GivenName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProviderId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSurName&lt;br /&gt;
|Sur Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SurName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefTelephoneNumber&lt;br /&gt;
|Telephone Number&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/TelephoneNumber/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProviderId&lt;br /&gt;
|Identity Provider Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityProviderId/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefUniqueSubjectId&lt;br /&gt;
|Unique Subject Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/UniqueSubjectId/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Highly Recommended&lt;br /&gt;
|-&lt;br /&gt;
|nief28CFR&lt;br /&gt;
|28 CFR Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/28CFRCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefElectronicAuthenticationAssuranceLevelCode&lt;br /&gt;
|Electronic Authentication Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/ElectronicAuthenticationAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefORI&lt;br /&gt;
|Employer ORI&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerORI/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerOrganizationGeneralCategoryCode&lt;br /&gt;
|Employer Organization General Category Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerOrganizationGeneralCategoryCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefEmployerStateCode&lt;br /&gt;
|Employer State Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/EmployerStateCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIdentityProofingAssuranceLevelCode&lt;br /&gt;
|Identity Proofing Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/IdentityProofingAssuranceLevelCode/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPSO&lt;br /&gt;
|Public Safety Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PublicSafetyOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefSLEO&lt;br /&gt;
|Sworn Law Enforcement Officer Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/SwornLawEnforcementOfficerIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefAAL&lt;br /&gt;
|Authenticator Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/AuthenticatorAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFAL&lt;br /&gt;
|Federation Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FederationAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefIAL&lt;br /&gt;
|Identity Assurance Level&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IdentityAssuranceLevel/1.0&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|NIEF Recommended&lt;br /&gt;
|-&lt;br /&gt;
|niefIntelligenceAnalystIndicator&lt;br /&gt;
|Intelligence Analyst Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/IntelligenceAnalystIndicator/1.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCounterTerrorismDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Counter Terrorism Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CounterTerrorismDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalHistoryDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal History Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalHistoryDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalIntelligenceDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Intelligence Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalIntelligenceDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefCriminalInvestigativeDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Criminal Investigative Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/CriminalInvestigativeDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefDisplayName&lt;br /&gt;
|Display Name&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/DisplayName/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefGovernmentDataSelfSearchHomePrivilegeIndicator&lt;br /&gt;
|Government Data Self Search Home Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/GovernmentDataSelfSearchHomePrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefLocalId&lt;br /&gt;
|Local Id&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/LocalId/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNCICCertificationIndicator&lt;br /&gt;
|NCIC Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NCICCertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefNDExPrivilegeIndicator&lt;br /&gt;
|NDEx Privilege Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/NDExPrivilegeIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefPCIICertificationIndicator&lt;br /&gt;
|PCII Certification Indicator&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/gfipm/PCIICertificationIndicator/2.0&lt;br /&gt;
|-&lt;br /&gt;
|niefFICAMAssuranceLevelCode&lt;br /&gt;
|FICAM Assurance Level Code&lt;br /&gt;
|https://nief.org/attribute-registry/attributes/user/nief/FICAMAssuranceLevelCode/1.0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=NIEF_Attribute_Defintions&amp;diff=257</id>
		<title>NIEF Attribute Defintions</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=NIEF_Attribute_Defintions&amp;diff=257"/>
		<updated>2021-05-06T02:15:23Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: Created page with &amp;quot;==About== How to configure a Shibboleth 4 system to support NIEF/GFIPM attributes in bulk.  ==Process== # Download thumb and put it in your &amp;#039;&amp;#039;[IDP_HOME]...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
How to configure a Shibboleth 4 system to support NIEF/GFIPM attributes in bulk.&lt;br /&gt;
&lt;br /&gt;
==Process==&lt;br /&gt;
# Download [[File:NiefAttrs.xml|thumb]] and put it in your &#039;&#039;[IDP_HOME]/conf/attributes/&#039;&#039; directory.&lt;br /&gt;
# Edit the &#039;&#039;default-rules.xml&#039;&#039; file and add a rule to process the &#039;&#039;NiefAttrs.xml&#039;&#039; file:&lt;br /&gt;
       &amp;lt;import resource=&amp;quot;niefAttrs.xml&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=File:NiefAttrs.xml&amp;diff=256</id>
		<title>File:NiefAttrs.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=File:NiefAttrs.xml&amp;diff=256"/>
		<updated>2021-05-06T02:12:35Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample NIEF Attributes definitions for Shibboleth 4&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=245</id>
		<title>Create a NIEF Attribute Registry</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=245"/>
		<updated>2021-05-05T21:32:03Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Shibboleth 4 has a concept of Attribute Definitions distinct from Resolution and Filtering.  We should generate a conformant XML version representing the NIEF Bundles.  &lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
Here is a template that should be used to generate:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;eduPersonOrcid&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder SAML1StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml1.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;ORCID&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;ORCID researcher identifier(s) belonging to a person.&amp;lt;/prop&amp;gt;&lt;br /&gt;
                &amp;lt;/props&amp;gt;&lt;br /&gt;
            &amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;/bean&amp;gt;&lt;br /&gt;
== Template ==&lt;br /&gt;
        &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;InternalAttributeName&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;gfipm:2.0:user:blah&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;Attribute Name&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;Attribute Definition.&amp;lt;/prop&amp;gt;&lt;br /&gt;
                &amp;lt;/props&amp;gt;&lt;br /&gt;
            &amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;/bean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NIEF File ==&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=244</id>
		<title>Create a NIEF Attribute Registry</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Create_a_NIEF_Attribute_Registry&amp;diff=244"/>
		<updated>2021-05-05T21:30:21Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: Created page with &amp;quot;== About == Shibboleth 4 has a concept of Attribute Definitions distinct from Resolution and Filtering.  We should generate a conformant XML version representing the NIEF Bund...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Shibboleth 4 has a concept of Attribute Definitions distinct from Resolution and Filtering.  We should generate a conformant XML version representing the NIEF Bundles.  &lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
Here is a template that should be used to generate:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;bean parent=&amp;quot;shibboleth.TranscodingProperties&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;property name=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;props merge=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;id&amp;quot;&amp;gt;eduPersonOrcid&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;transcoder&amp;quot;&amp;gt;SAML2StringTranscoder SAML1StringTranscoder&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml2.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;saml1.name&amp;quot;&amp;gt;urn:oid:1.3.6.1.4.1.5923.1.1.1.16&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;displayName.en&amp;quot;&amp;gt;ORCID&amp;lt;/prop&amp;gt;&lt;br /&gt;
                    &amp;lt;prop key=&amp;quot;description.en&amp;quot;&amp;gt;ORCID researcher identifier(s) belonging to a person.&amp;lt;/prop&amp;gt;&lt;br /&gt;
                &amp;lt;/props&amp;gt;&lt;br /&gt;
            &amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;/bean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NIEF File ==&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=243</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=243"/>
		<updated>2021-05-05T21:28:28Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample Attribute Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: [[Create a NIEF Attribute Registry]] definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=242</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=242"/>
		<updated>2021-05-05T21:28:10Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample Attribute Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: [Create a NIEF Attribute Registry] definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=241</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=241"/>
		<updated>2021-05-05T21:06:54Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* GFIPM Reference Fed Metadata Provider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: Create a NIEF Attribute Registry definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=240</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=240"/>
		<updated>2021-05-05T21:06:35Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: Create a NIEF Attribute Registry definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;br /&gt;
&lt;br /&gt;
== GFIPM Reference Fed Metadata Provider ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;MetadataProvider id=&amp;quot;HTTPMetadata&amp;quot;&lt;br /&gt;
                      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot;&lt;br /&gt;
                      backingFile=&amp;quot;%{idp.home}/metadata/localCopyFromNIEFTestbed.xml&amp;quot;&lt;br /&gt;
                      metadataURL=&amp;quot;https://ref.gfipm.net/gfipm-signed-ref-metadata.xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; certificateFile=&amp;quot;%{idp.home}/credentials/gfipm-ca.pem&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataFilter xsi:type=&amp;quot;EntityRole&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;RetainedRole&amp;gt;md:SPSSODescriptor&amp;lt;/RetainedRole&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataFilter&amp;gt;&lt;br /&gt;
    &amp;lt;/MetadataProvider&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=239</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=239"/>
		<updated>2021-05-05T20:57:55Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Sample Attribute Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: Create a NIEF Attribute Registry definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;br /&gt;
&lt;br /&gt;
    id=firstname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:GivenName&lt;br /&gt;
&lt;br /&gt;
    id=lastname&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:SurName&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=238</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=238"/>
		<updated>2021-05-05T20:51:30Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Attribute Definition ==&lt;br /&gt;
To Do: Create a NIEF Attribute Registry definition.&lt;br /&gt;
&lt;br /&gt;
Quick Test, create a properties file per attribute in the &#039;&#039;attributes/custom&#039;&#039; directory: &lt;br /&gt;
&lt;br /&gt;
    id=gfipmmail&lt;br /&gt;
    transcoder=SAML2StringTranscoder&lt;br /&gt;
    saml2.name=gfipm:2.0:user:EmailAddressText&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=237</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=237"/>
		<updated>2021-05-05T20:48:34Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;br /&gt;
&lt;br /&gt;
== Sample attribute-filter ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AttributeFilterPolicy id=&amp;quot;releaseAll&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;PolicyRequirementRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;OrgId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;empname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;LocalId&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;lastname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;firstname&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;mail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;gfipmmail&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeRule attributeID=&amp;quot;fedid&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PermitValueRule xsi:type=&amp;quot;ANY&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/AttributeRule&amp;gt;&lt;br /&gt;
    &amp;lt;/AttributeFilterPolicy&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=236</id>
		<title>Shibboleth IDP4 Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=Shibboleth_IDP4_Notes&amp;diff=236"/>
		<updated>2021-05-05T19:01:29Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: Created page with &amp;quot;==About== Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About==&lt;br /&gt;
Just some notes about Shibboleth IDP4 based on discussions with Texas DPS.&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=NIEF_Implementers_Wiki&amp;diff=235</id>
		<title>NIEF Implementers Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=NIEF_Implementers_Wiki&amp;diff=235"/>
		<updated>2021-05-05T18:53:21Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting started ==&lt;br /&gt;
* [[How to Implement a NIEF Identity Provider]]&lt;br /&gt;
* [[How to Implement a NIEF Service Provider]]&lt;br /&gt;
&lt;br /&gt;
== Detailed Articles ==&lt;br /&gt;
* [[Legacy Information]]&lt;br /&gt;
* [[NIEF Testbed]]&lt;br /&gt;
* [[ADFS 3.0 Configuration Guide]]&lt;br /&gt;
* [[F5 Implementation]]&lt;br /&gt;
* [[SecureAuth Implementation]]&lt;br /&gt;
* [[NetIQ Access Manager]]&lt;br /&gt;
* [[Simple SAML PHP]]&lt;br /&gt;
* [[Generating Certificates with OpenSSL]]&lt;br /&gt;
* [[ASP.NET Shibboleth Debug]]&lt;br /&gt;
* [[Editing SAML2 Metadata]]&lt;br /&gt;
* [[Shibboleth IDP3 Notes]]&lt;br /&gt;
* [[MITREid Connect]]&lt;br /&gt;
* [[NIEF Attributes within OIDC]]&lt;br /&gt;
* [[OIDC RP]]&lt;br /&gt;
* [[PIV-I Identity Provider]]&lt;br /&gt;
* [[FIDO/GLUU Identity Provider]]&lt;br /&gt;
* [[FIDO Credential Lifecycle Guide]]&lt;br /&gt;
* [[Shibboleth IDP4 Notes]]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
	<entry>
		<id>https://wiki.nief.org/index.php?title=NIEF_Testbed&amp;diff=234</id>
		<title>NIEF Testbed</title>
		<link rel="alternate" type="text/html" href="https://wiki.nief.org/index.php?title=NIEF_Testbed&amp;diff=234"/>
		<updated>2020-02-13T19:41:05Z</updated>

		<summary type="html">&lt;p&gt;Gtkrug: /* Trust Fabric / SAML2 Metadata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a variety of test capabilities within NIEF falling into five roles/categories: &lt;br /&gt;
&lt;br /&gt;
== SAML Relying Party ==&lt;br /&gt;
&lt;br /&gt;
There is one primary test SAML RP: [https://testsp.nief.org/ https://testsp.nief.org/]. &lt;br /&gt;
&lt;br /&gt;
== SAML Identity Provider ==&lt;br /&gt;
&lt;br /&gt;
There are multiple Test SAML IDPs:&lt;br /&gt;
&lt;br /&gt;
* [https://testidp.nief.org/ https://testidp.nief.org/] - open access test credentials.&lt;br /&gt;
* [https://piv.nief.org/ https://piv.nief.org/] - PIV-I Test Identity Provider, requires test certificates.&lt;br /&gt;
&lt;br /&gt;
== OIDC OpenId Provider ==&lt;br /&gt;
&lt;br /&gt;
[https://openid.nief.org/ https://openid.nief.org/]&lt;br /&gt;
&lt;br /&gt;
== OIDC Relying Party / Client ==&lt;br /&gt;
&lt;br /&gt;
[https://testsp.nief.org/ https://testsp.nief.org/]&lt;br /&gt;
&lt;br /&gt;
== Trust Fabric / SAML2 Metadata ==&lt;br /&gt;
&lt;br /&gt;
[https://ref.gfipm.net/gfipm-signed-ref-metadata.xml https://ref.gfipm.net/gfipm-signed-ref-metadata.xml]&lt;br /&gt;
&lt;br /&gt;
=== Signing Certificate for Testbed Trust Fabric ===&lt;br /&gt;
&lt;br /&gt;
[https://ref.gfipm.net/ref-gfipm-ca.crt https://ref.gfipm.net/ref-gfipm-ca.crt]&lt;/div&gt;</summary>
		<author><name>Gtkrug</name></author>
	</entry>
</feed>