Thanks for your help, but it does not suffice to return persistentId only 
in subject (username) section of saml response.
I need also to return eduPersonTargetedID as a separate attribute in the 
AttributeStatement section like this:

      <saml2:Subject>
            <saml2:NameID 
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
                          NameQualifier="https://orcid.org/saml2/sp/1";
                          SPNameQualifier="https://orcid.org/saml2/sp/1";
                          >bsW0OHXmQNagnOqwvm8TU7oPKpM=</saml2:NameID>
            ...
        </saml2:Subject>
       ...
        <saml2:AttributeStatement>
            <saml2:Attribute FriendlyName="eduPersonTargetedID" 
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" 
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
                  <saml2:AttributeValue>
                      <saml2:NameID 
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" 
NameQualifier="https://sso.umk.pl/idp/shibboleth"; SPNameQualifier="
https://orcid.org/saml2/sp/1";>bsW0OHXmQNagnOqwvm8TU7oPKpM=</saml2:NameID>
                   </saml2:AttributeValue>
            </saml2:Attribute>

The above is required by some services like orcid.org.
I use the following service config:

{ 
 "@class": "org.apereo.cas.support.saml.services.SamlRegisteredService", 
 "serviceId": "^https://.+$";, 
 "name": "federation", 
 "id": 1999, 
 "evaluationOrder": 1999, 
 "metadataLocation": 
"https://aai.pionier.net.pl/pionierid-edugain-sp-feed.xml";,
 "usernameAttributeProvider" : { 
   "@class" : 
"org.apereo.cas.services.AnonymousRegisteredServiceUsernameAttributeProvider", 

   "persistentIdGenerator" : { 
     "@class" : 
"org.apereo.cas.authentication.principal.ShibbolethCompatiblePersistentIdGenerator",
 

     "salt" : "abc", 
     "attribute": "uidNumber" 
   } 
 }, 
 "attributeReleasePolicy": { 
   "@class": "org.apereo.cas.services.ChainingAttributeReleasePolicy", 
   "policies": [ "java.util.ArrayList", 
     [
       { 
         "@class": 
"org.apereo.cas.support.saml.services.EduPersonTargetedIdAttributeReleasePolicy",
 

         "salt" : "abc", 
         "attribute": "uidNumber"
       } 
     ] 
   ] 
 } 
}

On Friday, May 7, 2021 at 7:31:56 PM UTC+2 Mike Osterman wrote:

> Hi there,
>
> I had this issue early on, and it turned out that my service registry was 
> not specifying the nameid format as persistent, but rather unspecified, 
> which was making it transient. 
>
> Here's a snippet from our service config for the requiredNameIdFormat 
> and usernameAttributeProvider properties:
>
> "requiredNameIdFormat": "urn:oasis:names:tc:SAML:2.0:
> *nameid-format:persistent*",
> "usernameAttributeProvider" : {
>     "@class" : 
> "org.apereo.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider",
>     "usernameAttribute" : "eduPersonTargetedID",
>     "canonicalizationMode" : "NONE"
>   }
>
> -Mike
>
> On Fri, May 7, 2021 at 9:37 AM Marcin Roman <[email protected]> wrote:
>
>> Hi, I could not manage to configure CAS to release eduPersonTargetedID in 
>> correct format.
>> According to specs (
>> https://www.switch.ch/aai/support/documents/attributes/edupersontargetedid/) 
>> eduPersonTargetedID should look like this:
>>
>> <saml2:Attribute FriendlyName="eduPersonTargetedID"
>> Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" 
>> NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
>> <saml2:AttributeValue>
>> <saml2:NameID
>> Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
>> NameQualifier="https://sso.umk.pl/idp/shibboleth"; SPNameQualifier="
>> https://orcid.org/saml2/sp/1";>S1yftf/VIwgXi4bclR5tdXB/VRE=</saml2:NameID>
>> </saml2:AttributeValue>
>> </saml2:Attribute>
>>
>> This the way shibboleth releases it. 
>> However CAS releases eduPersonTargetedID in the following way:
>>
>> <saml2:Attribute FriendlyName="eduPersonTargetedID" 
>> Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" 
>> NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" > 
>> <saml2:AttributeValue>aALV+7l7KzaznzhyDsaBNgAdzSI=</saml2:AttributeValue> 
>> </saml2:Attribute>
>>
>> Perhaps I misconfigured something?
>>
>> -- 
>> - Website: https://apereo.github.io/cas
>> - Gitter Chatroom: https://gitter.im/apereo/cas
>> - List Guidelines: https://goo.gl/1VRrw7
>> - Contributions: https://goo.gl/mh7qDG
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "CAS Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/337e9277-89c4-4fec-bf43-44e11d35e78dn%40apereo.org
>>  
>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/337e9277-89c4-4fec-bf43-44e11d35e78dn%40apereo.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/1b0398bd-6dc8-41c5-89e0-df9cfa3fff00n%40apereo.org.

Reply via email to