On Tue, Nov 5, 2013 at 8:11 AM, Marvin Addison <marvin.addi...@gmail.com>wrote:

> > I'm not saying that the 4.0 must support multi-valued attributes.
>
> I believe it would be a big mistake to fail to provide some reasonable
> support for multi-valued attributes out of the box. Many if not most
> directory attributes are naturally multivalued, notably role data used
> for authorization; lack of support for that case would likely invite
> the sorts of one-off customizations that we presumably want to
> curtail.


As a heavy user of multi-valued attributes (mostly LDAP MemberOf DNs) and
the author of the phpCAS attribute support code, I'd like to second
Marvin's suggestion that proper multi-valued attribute support will be
critical to standardizing much of the usage of CAS Protocol v3 and CAS
Server 4.0.

Recently more and more SAAS vendors we contract with are beginning to
support CAS authentication. With the exception of platforms implemented in
PHP and using phpCAS, all vendors have stumbled on access control and
name/email population based on released attributes due in part to the lack
of support in their CAS client libraries and in part due to the lack of
documentation on attribute release in the protocol. Due to the lack of a
standardized method for attribute release, we are forced to provide vendors
with our own documentation of our own particular way of doing attribute
release. Vendors in turn must add this support as a customer-specific
customization to their software rather than as a general improvement that
they can provide to all customers.

The sooner CAS Protocol v3 and CAS Server 4.0 support both single and
multi-valued attribute release, the sooner we can begin pushing all users
to the new protocol and get rid of our numerous incompatible customizations.


*** Encoding of multi-valued attributes ***

The latest version of the CAS 3
protocol<https://github.com/Jasig/cas/blob/master/cas-server-protocol/3.0/cas_protocol_3_0.md#head_appdx_a>simply
states that:

it is recommended to form custom attributes as <cas:attributes
name="NAME">VALUE</cas:attributes>.

I suggest that this language be extended to recommend something like:

Multiple values for the same attribute name should be formed as
<cas:attributes name="NAME">VALUE1</cas:attributes>
<cas:attributes name="NAME">VALUE2</cas:attributes>

Making these multiple values proper XML elements is absolutely necessary to
ensure compatibility between implementations in a variety of environments.
Compatibility will be very difficult to achieve if implementations are
forced to interpret the particularities of JSP collection/string
serialization for arbitrary attribute values.

Best,
Adam

--

Adam Franco
Senior Software Engineer - Web Applications
Library and Information Services
Middlebury College
Middlebury, VT 05753
afra...@middlebury.edu
802.443.2244


On Tue, Nov 5, 2013 at 10:32 AM, Fredrik Jönsson <f...@kth.se> wrote:

> A couple of thoughts. First of all the attribute release is a most
> welcome addition to the CAS protocol and I really look forward to use
> it.
>
> I would think carefully about the road ahead, and as I see it there are
> three options:
>
> 1. "Accidentally" print multi-value attributes as a list of sorts which
> is currently done, and the Java client likewise "accidentally" supports
> and interpret as a list.
>
> 2. Explicitly not support multi-value attributes and either remove them
> or print the first item in the list only pretending that it is a single
> value.
>
> 3. Actually implement, in the server at least, as suggested in the
> specification.
>
> I'd recommend sticking to the specification in the protocol draft and
> use any of the last two options. I agree that multi-value attributes are
> common, indeed we have such that I would most definitely want to use and
> would prefer support as specified, but I could wait for another
> iteration. I think that the current RC2 server behavior is risky, since
> implementations may come to depend on a de facto undocumented behavior
> and blow up at a later upgrade which prints multi-value attributes some
> other way. The server interface is the XML output and not the Java
> client library.
>
> Regards,
> /Fredrik
>
> On tis, 2013-11-05 at 08:11 -0500, Marvin Addison wrote:
> > > I'm not saying that the 4.0 must support multi-valued attributes.
> >
> > I believe it would be a big mistake to fail to provide some reasonable
> > support for multi-valued attributes out of the box. Many if not most
> > directory attributes are naturally multivalued, notably role data used
> > for authorization; lack of support for that case would likely invite
> > the sorts of one-off customizations that we presumably want to
> > curtail.
> >
> > M
> >
>
>
> --
> You are currently subscribed to cas-dev@lists.jasig.org as:
> afra...@middlebury.edu
> To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-dev
>

-- 
You are currently subscribed to cas-dev@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

Reply via email to