Hi Jérôme,
The issue goes away with CAS version 5.2.3 and pac4j version 2.3.1.
Thanks,
Scott K
> Hi Jérôme,
>
> I am using the JSON service registry. The service is registered as
>
> {
> "@class" : "org.apereo.cas.services.RegexRegisteredService",
> "serviceId" : "https://my.org/testing/cas/phpclient/example_simple.php",
> "name" : "testClient01",
> "id" : 1,
> "evaluationOrder" : 10,
> "attributeReleasePolicy" : {
> "@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
> },
> "usernameAttributeProvider" : {
> "@class" :
> "org.apereo.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider",
> "usernameAttribute" : "urn:oid:0.9.2342.19200300.100.1.1",
> "canonicalizationMode" : "NONE"
> }
> }
>
> So I believe the correct attribute release policy is in place to release all
> attributes to the service.
>
> The CAS log file contains this WARN message:
>
> 2018-03-24 10:02:59,411 WARN
> [org.apereo.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider]
> - <Principal
> [AAdzZWNyZXQxoaZsp8jwcLkuGIb3wouQ4fg7MWmqgx+bnkd/EuWdmYlccwnzGtnBELaGS7ZMhiYxjvbzbXmlFcmhlQyJe9RyOsSx27yE14APpGvAWDpuR9bkuah8SfexOMbogtnYyK3aMRXjnFqsso5giA==]
> does not have an attribute [urn:oid:0.9.2342.19200300.100.1.1] among
> attributes [{}] so CAS cannot provide the user attribute the service expects.
> CAS will instead return the default principal id
> [AAdzZWNyZXQxoaZsp8jwcLkuGIb3wouQ4fg7MWmqgx+bnkd/EuWdmYlccwnzGtnBELaGS7ZMhiYxjvbzbXmlFcmhlQyJe9RyOsSx27yE14APpGvAWDpuR9bkuah8SfexOMbogtnYyK3aMRXjnFqsso5giA==].
> Ensure the attribute selected as the username is allowed to be released by
> the service attribute release policy.>
>
> So CAS thinks there is no attribute "urn:oid:0.9.2342.19200300.100.1.1" but
> earlier in the log file pac4j logs
>
> 2018-03-24 10:02:58,906 DEBUG [org.pac4j.saml.client.SAML2Client] - <profile:
> #S
> AML2Profile# | id:
> AAdzZWNyZXQxoaZsp8jwcLkuGIb3wouQ4fg7MWmqgx+bnkd/EuWdmYlccwnzG
> tnBELaGS7ZMhiYxjvbzbXmlFcmhlQyJe9RyOsSx27yE14APpGvAWDpuR9bkuah8SfexOMbogtnYyK3aM
> RXjnFqsso5giA== | attributes:
> {urn:oid:0.9.2342.19200300.100.1.3=[skoranda@gmail
> .com], mail=[[email protected]],
> urn:oid:0.9.2342.19200300.100.1.1=[scott.koran
> da], displayName=[Scott Koranda], givenName=[Scott],
> urn:oid:2.5.4.42=[Scott], n
> otBefore=2018-03-24T10:02:57.588Z, uid=[scott.koranda],
> urn:oid:2.16.840.1.11373
> 0.3.1.241=[Scott Koranda],
> urn:oid:1.3.6.1.4.1.5923.1.1.1.6=[scott.koranda@spher
> icalcowgroup.com], notOnOrAfter=2018-03-24T10:07:57.588Z,
> eduPersonPrincipalName
> =[[email protected]], urn:oid:2.5.4.4=[Koranda],
> sn=[Koranda],
> sessionindex=_0572dab54bff96c199e29f058aae9302} | roles: [] | permissions:
> [] |
> isRemembered: false | clientName: null | linkedId: null |>
>
> where the attribute urn:oid:0.9.2342.19200300.100.1.1 is explicitly shown to
> be populated.
>
> Am I missing something in my JSON service configuration?
>
> Again this is for version 5.1.3.
>
> Thanks,
>
> Scott K
>
> > Hi,
> >
> > The behavior is to create the CAS principal and attributes from the pac4j
> > principal and attributes. So you should get the pac4j attributes at the end.
> > Ignore the log about the ClientCredential, the toString method just outputs
> > the id (not the attributes).
> >
> > Is the service configured properly (with ReturnAllAttributeReleasePolicy
> > for example)?
> >
> > Thanks.
> > Best regards,
> > Jérôme
> >
> >
> > On Thu, Mar 22, 2018 at 4:25 PM, Scott Koranda <[email protected]> wrote:
> >
> > > Hi,
> > >
> > > I am using CAS 5.1.3 (though I might be able to upgrade to 5.2.3,
> > > depending on the issue of which binding is being used for the
> > > <AuthnRequest>, as detailed in an earlier note to this list).
> > >
> > > I am delegating authentication to a SAML2 IdP using pac4j.
> > >
> > > After a successful authentication I see in cas.log
> > >
> > > 2018-03-22 14:44:46,372 DEBUG [org.pac4j.saml.client.SAML2Client] -
> > > <profile: #SAML2Profile# | id: AAdzZWNyZXQxQJ7RzalR0+
> > > OnEE09XX3FnuYElvWkhkCSbAshdwAYSR5WQq3x7qEeuj6lzDF18EwarKKWUh
> > > ElP5/dR+k1h1NlMaLBZmgeA/5fGFSHZwZEABRLliyrpjaNW7HK+sqDWq73E
> > > 8uqJp0pzRmivQ== |
> > > attributes:
> > > {urn:oid:0.9.2342.19200300.100.1.3=[[email protected]], mail=[
> > > [email protected]],
> > > urn:oid:0.9.2342.19200300.100.1.1=[scott.koranda], displayName=[Scott
> > > Koranda], givenName=[Scott],
> > > urn:oid:2.5.4.42=[Scott], notBefore=2018-03-22T14:44:45.460Z,
> > > uid=[scott.koranda],
> > > urn:oid:2.16.840.1.113730.3.1.241=[Scott Koranda],
> > > urn:oid:1.3.6.1.4.1.5923.1.1.1.6=[[email protected]],
> > > notOnOrAfter=2018-03-22T14:49:45.460Z,
> > > eduPersonPrincipalName=[[email protected]],
> > > urn:oid:2.5.4.4=[Koranda], sn=[Koranda],
> > > sessionindex=_570a4d9a94551c4e52cf75415fac58f0} | roles: [] |
> > > permissions: [] | isRemembered: false | clientName: null | linkedId:
> > > null |>
> > >
> > > Those are the values for NameID (transient) and attributes that I
> > > expect.
> > >
> > > The next line in cas.log is
> > >
> > > 2018-03-22 14:44:46,402 INFO
> > > [org.apereo.cas.authentication.AbstractAuthenticationManager] -
> > > <Authenticated principal
> > > [AAdzZWNyZXQxQJ7RzalR0+OnEE09XX3FnuYElvWkhkCSbAshdwAY
> > > SR5WQq3x7qEeuj6lzDF18EwarKKWUhElP5/dR+k1h1NlMaLBZmgeA/
> > > 5fGFSHZwZEABRLliyrpjaNW7HK+sqDWq73E8uqJp0pzRmivQ==]
> > > with attributes [{}] via credentials
> > > [[org.apereo.cas.authentication.principal.ClientCredential@6c1c5d52[id=
> > > AAdzZWNyZXQxQJ7RzalR0+OnEE09XX3FnuYElvWkhkCSbAshdwAY
> > > SR5WQq3x7qEeuj6lzDF18EwarKKWUhElP5/dR+k1h1NlMaLBZmgeA/
> > > 5fGFSHZwZEABRLliyrpjaNW7HK+sqDWq73E8uqJp0pzRmivQ==]]].>
> > >
> > > So it appears that the NameID value (transient) is being used as the
> > > principal, but none of the attributes are making it from the pac4j layer
> > > into the CAS layer.
> > >
> > > Is that a correct assessment?
> > >
> > > If so, how can I
> > >
> > > a) change what value is used for the principal? I would like to use the
> > > value from one of the asserted attributes.
> > >
> > > b) push the attributes into the CAS layer to make them available for
> > > assertion downstream to the CAS client?
> > >
> > > I have reviewed the documentation for the Delegated/pac4j authentication
> > > at
> > >
> > > https://apereo.github.io/cas/5.1.x/integration/Delegate-
> > > Authentication.html
> > >
> > > and that for Attribute Resolution at
> > >
> > > https://apereo.github.io/cas/5.1.x/integration/Attribute-Resolution.html
> > >
> > > but I am not able to find a configuration option that appears to tell
> > > pac4j to push the attributes into the Authentication object.
> > >
> > > Thank you for your consideration.
> > >
> > > Scott K
> > >
> > >
> > > --
> > > - 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/20180322152546.o52kuzuh6u227e5s%40paprika.
> > > local.
> > >
> >
> > --
> > - 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/CAP279Lxnu8HSxPMQzxLvCW0Ee0-RmBVEGq%2BC67PRqajwz0Q5Tg%40mail.gmail.com.
--
- 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/20180325203442.ds2imnwlzm7t2sfv%40paprika.local.