Hi, 
After a few hours of fruitless searching, I started from scratch and the 
value of the problematic attribute is now displayed. I don't know what the 
problem was, but everything is working now.
Regards

Le mercredi 3 juin 2026 à 17:34:59 UTC+2, livio dezorzi a écrit :

>
> Hi Ray,
>
> Is there a maximum length constraint for attributes? I'm trying to display 
> all the values ​​of the mapped attributes, and only the 
> `crnpdcattdepartementlibelle` attribute isn't displaying
> cas.authn.oidc.core.claims-map.compteactif=crnpdcattcompteactif
> cas.authn.oidc.core.claims-map.fonction=crnpdcattfonctionlibelle
> cas.authn.oidc.core.claims-map.secteur=crnpdcattsecteurlibelle
> cas.authn.oidc.core.claims-map.service=crnpdcattservicelibelle
> as.authn.oidc.core.claims-map.departement=crnpdcattdepartementlibelle
> cas.authn.oidc.core.claims-map.direction=crnpdcattdirectionlibelle
>
> I have repeatedly checked my cas.properties configuration and my json 
> service, which are error-free.
>
> This is the only lead I've found, but is it the right one ?
>
> The length of the attribute `crnpdcattdepartementlibelle` is 28 characters 
> and the length of `crnpdcattdirectionlibelle` is 26 characters.
> The first one is not displayed, but the second one is. I don't understand 
> anything.
>
> Thank you for your ideas.
>  
>
>
>
> Le jeudi 28 mai 2026 à 14:48:03 UTC+2, livio dezorzi a écrit :
>
>> Hi Ray,
>>
>> Thanks for your suggestion. 
>> I'm no longer overriding the openid, profile, and email scopes.
>> I've customized a scope named "names" with the attributes lastname, 
>> firstname, and displayname previously mapped in cas.properties file to sn, 
>> givenName, and displayName as you mentioned.
>> I configured the "openid" and "names" scopes in the service JSON, but no 
>> attribute appear in the id_token. 
>> If I use the class "org.apereo.cas.services.
>> ReturnMappedAttributeReleasePolicy" in my JSON, mapping the attributes 
>> "sn", "lastname", etc.... and only the "openid" scope, I find the correctly 
>> renamed attributes in the id_token.
>> it's a mystery.
>>
>> Livio
>>
>>
>> Le mercredi 27 mai 2026 à 19:54:32 UTC+2, Ray Bon a écrit :
>>
>>> Livio,
>>>
>>> I would suggest not overriding predefined scopes (openid, profile, 
>>> email). If you map your ldap attribute names to the oidc standards, they 
>>> will be picked up by those scopes.
>>> For example:
>>> cas.authn.oidc.core.claims-map.family_name=sn
>>> See [1] for spec.
>>> If you need to have lastname as a claim, make a user defined scope with 
>>> those claims:
>>>
>>> cas.authn.oidc.core.user-defined-scopes.names=lastname,firstname,displayname
>>> To get other claims in the payload, like names or MemberOf, include that 
>>> scope in the 'scopes' HashSet of your service definition.
>>>
>>> Ray
>>>
>>> [1] https://openid.net/specs/openid-connect-core-1_0.html
>>> ------------------------------
>>> *From:* [email protected] <[email protected]> on behalf of livio 
>>> dezorzi <[email protected]>
>>> *Sent:* May 27, 2026 07:46
>>> *To:* CAS Community <[email protected]>
>>> *Subject:* [cas-user] Re: attributes released vs id_token 
>>>  
>>> I found a lead. I used the blog post 
>>> https://fawnoos.com/2022/08/18/cas66-openid-connect-scopes/ to 
>>> customize my OpenLDAP attributes as follows in the cas.properties file :
>>>
>>> cas.authn.oidc.core.claims-map.email=mailRoutingAddress
>>> cas.authn.oidc.core.claims-map.MemberOf=crnpdcattgroupe
>>> cas.authn.oidc.core.claims-map.firstname=givenName
>>> cas.authn.oidc.core.claims-map.lastname=sn
>>> cas.authn.oidc.core.claims-map.displayname=displayName
>>> cas.authn.oidc.core.claims-map.compteactif=crnpdcattcompteactif
>>> cas.authn.oidc.core.claims-map.fonction=crnpdcattfonctionlibelle
>>> cas.authn.oidc.core.claims-map.secteur=crnpdcattsecteurlibelle
>>> cas.authn.oidc.core.claims-map.service=crnpdcattservicelibelle
>>> as.authn.oidc.core.claims-map.departement=crnpdcattdepartementlibelle
>>> cas.authn.oidc.core.claims-map.direction=crnpdcattdirectionlibelle
>>> cas.authn.oidc.core.claims-map.contrat=employeeType
>>>
>>> cas.authn.oidc.core.user-defined-scopes.organisation=fonction,service,departement,direction
>>> cas.authn.oidc.core.user-defined-scopes.openid=sub
>>>
>>> cas.authn.oidc.core.user-defined-scopes.profile=uid,firstname,lastname,displayname,compteactif,contrat
>>> cas.authn.oidc.core.user-defined-scopes.MemberOf=MemberOf
>>> cas.authn.oidc.core.user-defined-scopes.ismemberof=MemberOf
>>> cas.authn.oidc.core.user-defined-scopes.memberofargos=MemberOf
>>> cas.authn.oidc.core.user-defined-scopes.memberofedgar=MemberOf
>>> cas.authn.oidc.core.user-defined-scopes.memberofsigport=MemberOf
>>>
>>> cas.authn.oidc.discovery.claims=sub,uid,email,firstname,lastname,displayname,compteactif,fonction,secteur,service,departement,direction,contrat,MemberOf,ismemberof,memberofargos,memberofedgar,memberofsigport
>>>
>>> cas.authn.oidc.discovery.scopes=sub,openid,profile,email,organisation,MemberOf,memberofargos,memberofedgar,memberofsigport,ismemberof
>>>
>>> and my json service :
>>>
>>> {
>>>     "@class": "org.apereo.cas.services.OidcRegisteredService",
>>>     "serviceId": "https://....../iam/realms/SP/broker/oidc-hdf/endpoint";,
>>>     "name": "SP-v09",
>>>     "id": 329738878,
>>>     "description": "OpenID Connect service SP-v09",
>>>     "attributeReleasePolicy": {
>>>         "@class": 
>>> "org.apereo.cas.services.ChainingAttributeReleasePolicy",
>>>         "policies": [
>>>             "java.util.ArrayList",
>>>             [
>>>                 {
>>>                     "@class": 
>>> "org.apereo.cas.oidc.claims.OidcProfileScopeAttributeReleasePolicy"
>>>                 },
>>>                 {
>>>                     "@class": 
>>> "org.apereo.cas.oidc.claims.OidcEmailScopeAttributeReleasePolicy"
>>>                 }
>>>             ]
>>>         ],
>>>         "mergingPolicy": "REPLACE",
>>>         "principalAttributesRepository": {
>>>             "@class": 
>>> "org.apereo.cas.authentication.principal.ChainingPrincipalAttributesRepository"
>>>         },
>>>         "consentPolicy": {
>>>             "@class": 
>>> "org.apereo.cas.services.consent.ChainingRegisteredServiceConsentPolicy"
>>>         },
>>>         "authorizedToReleaseAuthenticationAttributes": true
>>>     },
>>>     "clientSecret": "xxxxxxxxxxx",
>>>     "clientId": "xxxxxxxxxxxxxxxxx",
>>>     "bypassApprovalPrompt": true,
>>>     "jwtAccessToken": true,
>>>     "supportedGrantTypes": [
>>>         "java.util.HashSet",
>>>         [
>>>             "refresh_token",
>>>             "client_credentials",
>>>             "authorization_code"
>>>         ]
>>>     ],
>>>     "supportedResponseTypes": [
>>>         "java.util.HashSet",
>>>         [
>>>             "code",
>>>             "id_token"
>>>         ]
>>>     ],
>>>     "scopes": [
>>>         "java.util.HashSet",
>>>         [
>>>             "openid",
>>>             "profile",
>>>             "email"
>>>         ]
>>>     ]
>>> }
>>>
>>> It seems the attributes are being lost because if I don't customize the 
>>> OpenLDAP attributes, I find them correctly in the id_toekn.
>>>
>>>     "attributeReleasePolicy": {
>>>         "@class": 
>>> "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy",
>>>         "allowedAttributes": [
>>>             "java.util.ArrayList",
>>>             [
>>>                 "uid",
>>>                 "givenName",
>>>                 "mailRoutingAddress",
>>>                 "sn",
>>>                 "crnpdcattgroupe"
>>>             ]
>>>         ]
>>>     },
>>>
>>> How to use attributes friendly name in json service and configured in 
>>> cas.properties file ?
>>>
>>> Thanks
>>> Le mercredi 27 mai 2026 à 15:43:58 UTC+2, livio dezorzi a écrit :
>>>
>>> Hello,
>>> I'm having a problem with CAS v7.3.6 and a Service Provider using 
>>> Keycloak and OpenID Connect. I need to publish the attributes in 
>>> `id_token`. In my JSON service, I declared `supportedResponseTypes` with 
>>> `code` and `id_token`. But when I log into the application, after decoding 
>>> the `id_token`, I can't find the attributes like firtname, lastname, 
>>> email... 
>>> However, with a php/apache2 test application and 
>>> libapache2-mod-auth-openidc which retrieves the attributes in the header, I 
>>> have all my attributes published.
>>> The JSON services are identical except for the client and secret ID. 
>>> Where did I go wrong ? 
>>> Just so you know, my .well-known/openid-configuration file clearly 
>>> specifies the supported response types: code, id_token, id_token token, and 
>>> device_code
>>> Thanks for your leads 
>>>
>>> -- 
>>> - Website: https://apereo.github.io/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 visit 
>>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/48758c01-21b6-4584-b94f-b8403cc92368n%40apereo.org
>>>  
>>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/48758c01-21b6-4584-b94f-b8403cc92368n%40apereo.org?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
- Website: https://apereo.github.io/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 visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/02ec39db-a209-4bbe-bf0c-94d9ad1dd9b9n%40apereo.org.

Reply via email to