-
Notifications
You must be signed in to change notification settings - Fork 268
Description
I hoped to pass the LDAP attribute "gidNumber" as an extra attribute that is returned in CAS validation. Upon doing do, I get output like this:
<cas:serviceResponse xmlns:cas="http://www.yale.edu/tp/cas">
<cas:authenticationSuccess>
<cas:user>bosborne</cas:user>
<gidNumber>
<![CDATA[---
- "123"
]]>
</gidNumber>
</cas:authenticationSuccess>
</cas:serviceResponse>
Instead of just presenting the single value 123
, it's presented as a YAML array with one entry. The code that does that is here: https://github.com/rubycas/rubycas-server/blob/master/lib/casserver/server.rb#L738
The underlying LDAP library this gem uses is responsible for treating LDAP attributes as arrays, even if there is just one value in them. I think the majority of LDAP attributes are single value, like gidNumber
which is a widely used attribute and not multivalued (from what I've seen). So presenting them as arrays is kind of tough to accept.
I wonder if someone with more experience can chime in on this behavior? Is it really expected that a YAML array of one value should be returned for a simple attribute such as gidNumber
?