OIDC dynamic registration policy ID
Cantor, Scott
cantor.2 at osu.edu
Wed Jul 20 19:46:42 UTC 2022
On 7/20/22, 3:28 PM, "users on behalf of Wessel, Keith via users" <users-bounces at shibboleth.net on behalf of users at shibboleth.net> wrote:
> I'm still a little unclear: if I override the metadata policy lookup strategy,
> it has two constructor args: a location and an id. What's the significance of the id?
> Since this bean defines the default metadata policy file location, it obviously wouldn't have
> anything to do with the policy ID passed into the token request, or it wouldn't be a default. It
> looks like it perhaps defines a name for the cache that tht eIdP uses to store the policy's
> contents?
It's much more involved than that, I don't know anything about that code. It's doing some very crazy, advanced Spring stuff to generate a function based on the constructor arguments and I think it builds a whole layer of caching on top of the resources, and it's doing stuff I am unaware of.
At the level of the configuration of the profile, you are allowed to inject a Function<PRC,Map> and that's *it* from a contract standpoint. It will work.
The parent bean and all the defaults and the examples in the wiki that use that are probably a way to automatically do a lot of other things under the covers that make it more efficient, and they construct the MetadataPolicy objects for you instead of having to wire them all up by hand using bean definitions for each one. That's basically how it turns files of JSON into those maps.
> The built-in default bean has:
>
> c:id="DefaultProfileMetadataPolicyCache"
>
> Is that just referring to the cache where the policy is stored?
I assume so. Calling it "id" was not a great idea.
-- Scott
More information about the users
mailing list