[JIRA] (IDP-1981) Build Predicate based on RevocationCache

Scott Cantor (Jira) jira at shibboleth.atlassian.net
Thu Jul 28 13:24:49 UTC 2022


Scott Cantor ( https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A5b78efc9-1379-42cc-a3f6-56c6ea3a0007 ) *resolved* as *Done*

Committed an approach to branch and main.

After some false starts, I abandoned the direct use of the reuseCondition feature. It's a close fit, but it complicates the configuration quite a bit to support normal use of the feature and is awkward because we would have made the original condition a BiPredicate so that the AuthenticationResult would be directly accessible by the predicate.

Instead I added a second slot for this explicitly, which allows it to be globally injected into every login flow descriptor via a parent bean, based on properties I added.

The flow descriptor in turn injects it into the AuthenticationResult objects (same way it does this for the reuseCondition already).

I also adjusted AuthenticationResult to act as its own Predicate so that the calling code can just invoke result.test() to cover both reuse and revocation internally.

Config-wise, this is pretty clean and there are advanced properties and exposed APIs to customize every aspect of the feature on the checking side.

My supplied Predicate also uses a new RevocationContext to do some caching of the results so that multiple login flows can be checked without fetching the records over and over.

Still would like to implement an Attribute Resolver-based solution for this as an alternative to a dedicated storage and revocation cache.

Identity Provider ( https://shibboleth.atlassian.net/browse/IDP?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 ) / Sub-task ( https://shibboleth.atlassian.net/browse/IDP-1981?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 ) IDP-1981 ( https://shibboleth.atlassian.net/browse/IDP-1981?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 ) Build Predicate based on RevocationCache ( https://shibboleth.atlassian.net/browse/IDP-1981?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 )

Change By: Scott Cantor ( https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A5b78efc9-1379-42cc-a3f6-56c6ea3a0007 ) Resolution: Done Status: Open Resolved Remaining Estimate: 0 minutes Time Spent: 1 day

( https://shibboleth.atlassian.net/browse/IDP-1981#add-comment?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 ) Add Comment ( https://shibboleth.atlassian.net/browse/IDP-1981#add-comment?atlOrigin=eyJpIjoiNjFiMzhmYTc1MjU5NDQyMmE1YmEyM2JmMjRmM2Y2YzYiLCJwIjoiaiJ9 )

Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100203- sha1:db6c294 )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/commits/attachments/20220728/6fa2dd41/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-avatar-4bc2a393-c487-4273-a226-fb57c906ba4b
Type: image/png
Size: 452 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220728/6fa2dd41/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-comment-icon-a5fce868-ad83-4734-8481-428fa9e01f02
Type: image/png
Size: 1084 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220728/6fa2dd41/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-footer-desktop-logo-736202e7-721e-4fa5-8d6d-f19141c2684e
Type: image/png
Size: 10805 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220728/6fa2dd41/attachment-0005.png>


More information about the commits mailing list