Identify required/optional attributes in the attributeReleaseContext

Description

Please consider exposing whether a consentable attribute is marked as required/optional in metadata to the attributeReleaseContext. This would be useful information for per-attribute consent, allowing users to deselect optional attributes. As it is now, per-attribute consent is of limited usefulness since a user doesn't know which attributes they must send through versus which simply add functionality to the service.

Environment

None

Activity

Show:

Tom Zeller November 9, 2016 at 8:20 PM

Resolving as to-be-wired by the deployer.

Should revisit along with guidance regarding the UI.

Tom Zeller November 5, 2016 at 12:37 AM

Well, I think I'm changing my mind back to where I left off here, which is to not wire the predicate and leave that to the deployer.

On today's dev call, I said I was going to write a test and then wire the predicate by instantiation in a view-state (which we agreed on), but ... writing the test was harder than I thought : mocking the context tree and loading attribute-resolver.xml for example. My preference due to time is to write a Selenium/integration test (of course via the testbed since that's how I wrote the thing anyway), but I don't know how to nor want to try to represent "required" in the view template right now, because it only really makes sense for per-attribute consent (which is disabled by default) and I think other folks are working on consent UIs...at least we should copy whatever uApproveJP is doing I would think.

Maybe some UI/accessibility advice would be helpful too.

So I have a simple unit test for the constructor and a null check, but that's it. I should have caught Rod on the dev call today. Apologies for the timing.

Tom Zeller October 24, 2016 at 9:15 PM
Edited

r8533 IsAttributeRequiredPredicate

Can be wired via attribute-release-flow.xml :

and used in attribute-release.vm :

Rod Widdowson October 22, 2016 at 9:50 AM

> See net.shibboleth.idp.saml.attribute.mapping.AttributesMapContainer, net.shibboleth.idp.saml.metadata.impl.AttributeMappingNodeProcessor

I missed that. I thought that there should be more. Thanks.

Seems like doing this as an example change to the template post 3.3 makes a lot of sense...

R

Tom Zeller October 21, 2016 at 9:21 PM

Got it. That's way better.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Created April 5, 2016 at 8:55 PM
Updated November 11, 2016 at 12:29 AM
Resolved November 9, 2016 at 8:20 PM