Simplify CAS Proxy Trust Configuration

Description

CAS proxy trust configuration presently requires a deeply nested set of TrustEngine beans. Ideally deployers would wire up a single component that accepts a list of trusted CA certificates, which is the common if not sole use case.

Environment

None

Attachments

1
  • 14 Sep 2018, 01:54 PM

Activity

Show:

Marvin AddisonSeptember 21, 2018 at 4:11 PM

Committed to master in a9e8a35f36fc502b002cc54f047ad81ab3317a11.

Marvin AddisonSeptember 21, 2018 at 3:48 PM

After discussion on the dev call today we agreed that the impact to deployers is minimal and can be covered in release notes, so the code on this branch will be committed to master. I plan to write up release notes prior to closing the issue.

Marvin AddisonSeptember 20, 2018 at 11:38 PM

Thank you. I was actually planning to attend to discuss this issue, so works beautifully.

Scott CantorSeptember 20, 2018 at 11:09 PM

, I put this on tomorrow's agenda for any final discussion, don't know if you're able to join or not.

Scott CantorSeptember 18, 2018 at 2:17 PM

It doesn't seem too extensive a change in the user file. You mentioned there's a deprecation of one component and a replacement added. If the old one still "works" given the original configuration without this feature added that's all fine, just make sure to add a deprecation warning to the old class via DeprecationSupport, probably in an initialization method.

If that's not possible and the original component just doesn't work now, I'd have to talk it through further to understand the options.

As far as the changes to the file, removing a commented out bean is obviously fine since that just changes examples that aren't even enabled.

The other addition is also fine unless you have wiring internally that fails if that shibboleth.CASProxyTrustedCertificates bean isn't defined. In that case, what you want to do is either make sure the injection spot in the wiring uses #{getObject('shibboleth.CASProxyTrustedCertificates')} and can take a null and then it works either way.

If that's not an option due to some nullable constraint that can't be changed, then you just conditionally inject either that bean or an empty list bean defined internally to make sure something gets injected properly.

Does that help?

Fixed

Details

Assignee

Reporter

Original estimate

Components

Fix versions

Affects versions

Created March 13, 2015 at 8:46 PM
Updated October 31, 2018 at 8:32 PM
Resolved October 30, 2018 at 1:27 PM