[JIRA] (JCOMOIDC-23) Add OpenID Provider Configuration Document Resolver
Philip Smart (Jira)
jira at shibboleth.atlassian.net
Fri Sep 17 13:35:08 UTC 2021
Philip Smart ( https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=5afecdc1eb3ffa0c596652c4 ) *commented* on JCOMOIDC-23 ( https://shibboleth.atlassian.net/browse/JCOMOIDC-23?atlOrigin=eyJpIjoiNTY1OTUyOTU2MGQ4NGJiYzg5MDM4NWMwNGY1MDg5ODQiLCJwIjoiaiJ9 )
Re: Add OpenID Provider Configuration Document Resolver ( https://shibboleth.atlassian.net/browse/JCOMOIDC-23?atlOrigin=eyJpIjoiNTY1OTUyOTU2MGQ4NGJiYzg5MDM4NWMwNGY1MDg5ODQiLCJwIjoiaiJ9 )
I will push a new version next week. The main changes are:
* The backing store/cache has been decoupled and moved into a new MetadataCache manager, which can accept different backing store types.
* The cache is constructed from a factory that sets the cache primitives e.g. cache duration, idle time, refresh delay etc.
* All the variable functionality of the cache (to support OIDC in addition to SAML) have been moved to pluggable strategies e.g.
* metadata identifier extraction
* Expiration time computation
* Criteria to identifier mapping
* The cache is then built as a singleton from the factory and used by a MetadataResolver
* I have used a stampedlock over a reentrantreadwritelock - probably an insignificant performance advantage.
* The cache is not complete, does not cleanup old metadata yet, and the locking needs thinking about.
* The abstract *dynamic* provider metadata resolver is now much smaller.
* The provider accepts a ‘fetching’ strategy for how to source the metadata if not in the cache. This is provided to the MetadataCache inside the ‘computeIfAbsent’ type call e.g. find the metadata, if not found or requires refresh, fetch using this strategy/function.
* For fetching provider metadata over HTTP, this strategy looks similar to the AbstractDynamicHTTPMetadataResolver - but now as a strategy rather than a parent class.
* Metadata filter has *not* been plugged in to either the cache - after fetching - or the result returned from the resolver. Is probably slightly less significant for OIDC metadata, bu the functionality needs to exist.
* No metadata preloading or persistent caching.
* Not sure what the negativeLookupCache primitive is doing - will investigate.
* Not sure what the ordered metadata (entity descriptor) list is used for in the backing store - will check.
( https://shibboleth.atlassian.net/browse/JCOMOIDC-23#add-comment?atlOrigin=eyJpIjoiNTY1OTUyOTU2MGQ4NGJiYzg5MDM4NWMwNGY1MDg5ODQiLCJwIjoiaiJ9 ) Add Comment ( https://shibboleth.atlassian.net/browse/JCOMOIDC-23#add-comment?atlOrigin=eyJpIjoiNTY1OTUyOTU2MGQ4NGJiYzg5MDM4NWMwNGY1MDg5ODQiLCJwIjoiaiJ9 )
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#100177- sha1:149c709 )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/commits/attachments/20210917/ea19fe03/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-comment-icon-b45b1850-d119-4558-9496-cac9f594cc08
Type: image/png
Size: 1084 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20210917/ea19fe03/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-avatar-258fe2f2-0927-4086-8b4a-c07ed69fefa1
Type: image/png
Size: 457 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20210917/ea19fe03/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-footer-desktop-logo-eb02b2a5-0f0b-428a-8871-2ca2bc1de481
Type: image/png
Size: 10805 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20210917/ea19fe03/attachment-0005.png>
More information about the commits
mailing list