<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 2021-02-03, at 20:23, Cantor, Scott <<a href="mailto:cantor.2@osu.edu" class="">cantor.2@osu.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 2/3/21, 3:16 PM, "users on behalf of Christopher Bongaarts via users" <<a href="mailto:users-bounces@shibboleth.net" class="">users-bounces@shibboleth.net</a> on behalf of <a href="mailto:users@shibboleth.net" class="">users@shibboleth.net</a>> wrote:<br class=""><br class=""><blockquote type="cite" class=""> I think this may reflect some terminological confusion of what "MDQ service" means.<br class=""></blockquote><br class="">It's more fuzzy than that, MDQ as a spec does explicitly require (I think) exposing the /entities path.<br class=""></div></div></blockquote><div><br class=""></div><div>Yes, the spec says what the /entities path means. The current text doesn't say anything much about being obligated to respond to that path. There have been some concerns that a federation operator might not want to do that for whatever reason, and if that ever becomes a real issue it might be made clear that you can refuse service (we'd probably have to extend the list of status codes).</div><div><br class=""></div><div>Historically, this came about from the conception of the paths being in the RESTian mould, with the per-entity metadata being under the collection of entities.</div><div><br class=""></div><div>Of course, if it was _really_ RESTian, the /entities path would probably be specified to return a list of pointers to all the entities, not the collection of them. It was an imprecise analogy, and in the end the way we specified this has probably caused more confusion than it's been worth. Hindsight, as they say, is 20/20.</div><div><br class=""></div><div>If you're using the /entities path for an MDQ responder representing a whole federation (or, these days, essentially the whole R&E world) then it makes sense to use the <span style="orphans: 2; widows: 2;" class="">FileBackedHTTPMetadataProvider because it does what you want for a big aggregate. It's just the same as pulling an aggregate from any other URL, and in practice it's probably implemented the same way too. As a client, you don't care about the implementation details on the server side.</span></div><div><span style="orphans: 2; widows: 2;" class=""><br class=""></span></div><div><span style="orphans: 2; widows: 2;" class="">The per-entity paths are just paths too, of course, which means that although if you're doing dynamic </span><span style="orphans: 2; widows: 2;" class="">per-entity queries you need to use the </span><span style="orphans: 2; widows: 2;" class="">DynamicHTTPMetadataProvider, if for some reason you have a need for per-entity metadata for a small <i class="">static</i><span style="font-style: normal;" class=""> set of entities, you could also configure those using the </span></span><span style="orphans: 2; widows: 2;" class="">FileBackedHTTPMetadataProvider with appropriately encoded paths. The Dynamic provider is clever enough for that to be an extremely niche use case, though, at least with Shibboleth.</span></div><div><br class=""></div></div><div class=""><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; line-height: normal; border-spacing: 0px; -webkit-text-decorations-in-effect: none;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div class=""><span class="Apple-tab-span" style="white-space: pre;"><br class="Apple-interchange-newline"></span> -- Ian<br class=""></div><div class=""><span class="Apple-style-span" style="font-size: medium;"><br class=""></span></div></span></div></span><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>