Thank you for your help.  I think I am getting closer:

As a test, I changed the bottom of my AuthenticationHandler to:

final Map<String, Object> attributes = new HashMap<>();
attributes.put("abc", "123");
attributes.put("def", "456");
                return createHandlerResult(credential, 
this.principalFactory.createPrincipal(username,attributes), null)

And I updated the service definition to:


{
  "@class" : "org.jasig.cas.services.RegexRegisteredService",
  "serviceId" : "^http://localhost/bonfire/cas/.*";,
  "name" : "Bonfire Development",
  "id" : 10000017,
  "description" : "Bonfire Development CAS Single Sign-On",
  "proxyPolicy" : {
    "@class" : "org.jasig.cas.services.RefuseRegisteredServiceProxyPolicy"
  },
  "evaluationOrder" : 0,
  "usernameAttributeProvider" : {
    "@class" : 
"org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider"
  },
  "logoutType" : "BACK_CHANNEL",
  "attributeReleasePolicy" : {
    "@class" : "org.jasig.cas.services.*ReturnAllAttributeReleasePolic*y"
  },
  "accessStrategy" : {
    "@class" : 
"org.jasig.cas.services.DefaultRegisteredServiceAccessStrategy",
    "enabled" : true,
    "ssoEnabled" : true
  }
}


Only problem is that I am still just seeing only the the "user" attribute 
in the validation response.  Is there something more I need to configure?









On Tuesday, January 5, 2016 at 1:16:21 PM UTC-5, Misagh Moayyed wrote:
>
> Since you are on 4.1, your authentication handler is able to create the 
> principal with all the attributes it needs. So, as long as your handler is 
> stuffing that attribute into the final Principal that is created, you 
> should be able to dictate to a service that the attribute should be used in 
> the final response. 
>
>  
>
> See this as an example of how LDAP AuthN adds attributes:
>
>
> https://github.com/Jasig/cas/blob/4.1.x/cas-server-support-ldap/src/main/java/org/jasig/cas/authentication/LdapAuthenticationHandler.java#L196
>
>  
>
> Have yours do the same. You simply need to decide what the attribute name 
> should be, and stuff it into a map that the principal carries for 
> attributes. 
>
>  
>
> This is also relevant:
>
>
> https://jasig.github.io/cas/4.1.x/installation/Configuring-Principal-Resolution.html#principalresolver-vs-authenticationhandler
>  
>
>  
>
> *From:* [email protected] <javascript:> [mailto:[email protected] 
> <javascript:>] *On Behalf Of *John Bruestle
> *Sent:* Tuesday, January 5, 2016 11:11 AM
> *To:* CAS Community <[email protected] <javascript:>>
> *Cc:* [email protected] <javascript:>
> *Subject:* Re: [cas-user] Returning userid in Validation Response
>
>  
>
> Thanks.  Yes, that tells me how to configure the response so it will show 
> the specific attributes I want, but it doesn't tell me how to create the 
> attributes.  In my case, I'm getting a userid returned by the store 
> procedure I'm calling in my AuthenticationHandler, when authenticating. 
>  I'd like to add code there, at the point that I know the userid, to store 
> (resolve?) it as an attribute.   How do I do that?
>
>  
>
>
>
> On Tuesday, January 5, 2016 at 12:28:38 PM UTC-5, Misagh Moayyed wrote:
>
> See if this helps:
>
> https://jasig.github.io/cas/4.1.x/integration/Attribute-Release.html 
>
>  
>
> Section “Principal-Id Attribute”. 
>
>  
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *John 
> Bruestle
> *Sent:* Tuesday, January 5, 2016 9:02 AM
> *To:* CAS Community <[email protected]>
> *Subject:* [cas-user] Returning userid in Validation Response
>
>  
>
> My system's usernames used for logins are not the same as the unique 
> userid's used by the database.  In fact, usernames aren't necessarily 
> unique and sometimes require the password to determine the specific userid. 
>  I need my validation response to return the userid.
>
>  
>
> I already have a custom AuthenticationHandler, which implements 
> AbstractJdbcUsernamePasswordAuthenticationHandler, that is correctly 
> authenticating using a MSSQL stored procedure.  One of the byproducts of 
> calling the procedure is the userid, so that in the AuthenticationHandler 
> we do know what the userid is.
>
>  
>
> From my reading, it seems that there may be a way to store the userid away 
> as an attribute, which could later be used as part of the validation 
> response.  I'm stuck however trying to figure out how to do this.  I would 
> appreciate some pointers, especially if they came with the specific XML 
> files I need to modify and the functions I should call from within my 
> AuthenticationHandler to store the attribute.
>
>  
>
>  
>
> -- 
> 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].
> Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/
> .
>
> -- 
> 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] <javascript:>.
> Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/
> .
>

-- 
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].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.

Reply via email to