<div dir="ltr">Hi all,<div><br></div><div>I'd like to alert everyone that we are approaching the review period for Working Group draft 05. We plan to create the draft tomorrow (Friday) and announce the 14 day review period on the call next week.</div><div><br></div><div>Recording: <a href="https://zoom.us/rec/share/mR76Egmy3qqbn6CmrxKNLR5Q3IclM8oMjXTz_r6Xi9YXVJeEf6YJwes4oHWyCs-S.HyrQaEXZKYWkm4ac?pwd=DHIRpQqEctddkl8e2AAAIAAAAPmEq410WiF38i9wr4lw6tZKdJyu4kj4KESidV9l2z-Ylv7uDPiD3uP8WgUPSsqirjAwMDAwNA" target="_blank" style="color:rgb(13,107,222);font-size:14px;text-decoration:none;word-break:break-all">https://zoom.us/rec/share/mR76Egmy3qqbn6CmrxKNLR5Q3IclM8oMjXTz_r6Xi9YXVJeEf6YJwes4oHWyCs-S.HyrQaEXZKYWkm4ac?pwd=DHIRpQqEctddkl8e2AAAIAAAAPmEq410WiF38i9wr4lw6tZKdJyu4kj4KESidV9l2z-Ylv7uDPiD3uP8WgUPSsqirjAwMDAwNA</a></div><div><br></div><div><h2 class="gmail-part" id="gmail-Attendees" style="color:rgb(0,0,0)">Attendees</h2><ul class="gmail-part" style="color:rgb(0,0,0)"><li class="gmail-">Jeff Lombardo</li><li class="gmail-">Michiel Trimpe</li><li class="gmail-">David Brossard</li><li class="gmail-">Alex Olivier</li><li class="gmail-">Gerry Gebel</li><li class="gmail-">Julio Auto De Medeiros</li><li class="gmail-">Dave Hyland</li><li class="gmail-">Edmund Jay</li><li class="gmail-">Vladi Berger</li></ul><h2 class="gmail-part" id="gmail-Agenda" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Agenda" title="Agenda"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Agenda</h2><ul class="gmail-part" style="color:rgb(0,0,0)"><li class="gmail-">Final disposition of pagination topic (spoiler alert: only cursor-based is mandatory)</li><li class="gmail-">Review of closed issues and pull requests since last meeting</li><li class="gmail-">Discuss Michiel's comments from AuthZEN slack channel</li><li class="gmail-">Interop prep: final list of user data, access policies, and connection info for IDPs</li><li class="gmail-">Interop roll call for participants</li><li class="gmail-">Review process and timeline for 1.0 Final Specification</li></ul><h2 class="gmail-part" id="gmail-Notes" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Notes" title="Notes"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Notes</h2><h3 class="gmail-part" id="gmail-Pagination" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Pagination" title="Pagination"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Pagination</h3><ul class="gmail-part" style="color:rgb(0,0,0)"><li class="gmail-">We've decided to stick to cursor-based pagination</li><li class="gmail-">Michiel will keep a draft of offset-based pagination in his own repo in case anyone wants to create a later profile (post 1.0)</li><li class="gmail-">The chairs will merge the last outstanding PR tomorrow.</li></ul><h3 class="gmail-part" id="gmail-Schedule" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Schedule" title="Schedule"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Schedule</h3><ul class="gmail-part" style="color:rgb(0,0,0)"><li class="gmail-">We will kickstart the ratification of draft 5 next week on the regular call</li><li class="gmail-">This starts a two-week window for internal WG review and approval</li><li class="gmail-">We will use the following 2 calls to take in comments and feedback.</li><li class="gmail-">Past this point, we will request OpenID start the 60-day public review period</li><li class="gmail-">This takes us past Gartner but we will already be on track so we can announce the upcoming spec at Gartner IAM TX '25.</li></ul><h3 class="gmail-part" id="gmail-Feedback-on-the-OpenID-AuthZEN-Slack-Channel" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Feedback-on-the-OpenID-AuthZEN-Slack-Channel" title="Feedback-on-the-OpenID-AuthZEN-Slack-Channel"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Feedback on the OpenID AuthZEN Slack Channel</h3><h4 class="gmail-part" id="gmail-URL-path-inconsistency" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#URL-path-inconsistency" title="URL-path-inconsistency"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>URL path inconsistency</h4><p class="gmail-part" style="color:rgb(0,0,0)">Feedback from Michiel.</p><blockquote class="gmail-part" style="color:rgb(0,0,0)"><p>I’m working on the HTTPS binding section and I have a question regarding the PDP base path. In PDP metadata we list the following example URLs:</p></blockquote><div class="gmail-part gmail-code-block-wrapper gmail-code-block-toolbar-handled" style="color:rgb(0,0,0)"><div class="gmail-code-toolbar"><div class="gmail-flex gmail-flex-row gmail-gap-0.5 gmail-rounded-lg gmail-bg-element-bg-default gmail-px-[7px] gmail-py-[5px]"><button class="gmail-rounded gmail-text-lg gmail-font-normal gmail-leading-sm gmail-flex gmail-bg-transparent gmail-text-text-default gmail-border gmail-border-solid gmail-border-transparent gmail-hocus:bg-element-bg-hover gmail-hocus:text-text-emphasize gmail-hover:border-element-bg-hover gmail-focus:shadow-[0_0_0_2px_#77777733] gmail-focus:border-element-border-hover gmail-disabled:bg-transparent gmail-disabled:hocus:bg-transparent gmail-disabled:hocus:border-transparent gmail-disabled:text-element-text-disabled gmail-disabled:hocus:text-element-text-disabled gmail-p-0.5 gmail-ui-code-block-edit-from-here-button gmail-ui-code-block-toolbar-type-code"><i class="gmail-inline-flex gmail-ph gmail-ph-map-pin-simple" aria-hidden="true" style="width:20px;height:20px;font-size:20px;line-height:20px"></i></button><span class="gmail-ml-1 gmail-border-0 gmail-border-l gmail-border-solid gmail-border-background-subtle gmail-pr-1" aria-hidden="true"></span><button class="gmail-rounded gmail-text-lg gmail-font-normal gmail-leading-sm gmail-flex gmail-bg-transparent gmail-text-text-default gmail-border gmail-border-solid gmail-border-transparent gmail-hocus:bg-element-bg-hover gmail-hocus:text-text-emphasize gmail-hover:border-element-bg-hover gmail-focus:shadow-[0_0_0_2px_#77777733] gmail-focus:border-element-border-hover gmail-disabled:bg-transparent gmail-disabled:hocus:bg-transparent gmail-disabled:hocus:border-transparent gmail-disabled:text-element-text-disabled gmail-disabled:hocus:text-element-text-disabled gmail-p-0.5 gmail-ui-code-block-copy-link-button gmail-ui-code-block-toolbar-type-code"><i class="gmail-inline-flex gmail-ph gmail-ph-link" aria-hidden="true" style="width:20px;height:20px;font-size:20px;line-height:20px"></i></button><button class="gmail-rounded gmail-text-lg gmail-font-normal gmail-leading-sm gmail-flex gmail-bg-transparent gmail-text-text-default gmail-border gmail-border-solid gmail-border-transparent gmail-hocus:bg-element-bg-hover gmail-hocus:text-text-emphasize gmail-hover:border-element-bg-hover gmail-focus:shadow-[0_0_0_2px_#77777733] gmail-focus:border-element-border-hover gmail-disabled:bg-transparent gmail-disabled:hocus:bg-transparent gmail-disabled:hocus:border-transparent gmail-disabled:text-element-text-disabled gmail-disabled:hocus:text-element-text-disabled gmail-p-0.5 gmail-ui-code-block-copy-button gmail-ui-code-block-toolbar-type-code"><i class="gmail-inline-flex gmail-ph gmail-ph-clipboard-text" aria-hidden="true" style="width:20px;height:20px;font-size:20px;line-height:20px"></i></button></div></div><pre class="gmail-click-event-handled"><code>{
  "policy_decision_point": "<a href="https://pdp.example.com">https://pdp.example.com</a>",
  "access_evaluation_endpoint": "<a href="https://pdp.example.com/access/v1/evaluation">https://pdp.example.com/access/v1/evaluation</a>",
  "search_subject_endpoint": "<a href="https://pdp.example.com/access/v1/search/subject">https://pdp.example.com/access/v1/search/subject</a>",
  "search_resource_endpoint": "<a href="https://pdp.example.com/access/v1/search/resource">https://pdp.example.com/access/v1/search/resource</a>"
}
</code></pre></div><p class="gmail-part" style="color:rgb(0,0,0)">However in 4. API Version we say</p><blockquote class="gmail-part" style="color:rgb(0,0,0)"><p>All API methods for version 1.0 MUST be immediately preceded by the relative URL path /v1/.</p></blockquote><p class="gmail-part" style="color:rgb(0,0,0)">And I defined the method to determine default URLs like this:</p><ul class="gmail-part" style="color:rgb(0,0,0)"><li class="gmail-">The request URL MUST be the value of the access_evaluation_endpoint parameter if it is provided in the PDP Metadata (Section 11.1.1).</li><li class="gmail-">If the parameter is not provided, the URL SHOULD be formed by appending the relative path<span class="gmail-Apple-converted-space"> </span><code>/access/v1/evaluation</code><span class="gmail-Apple-converted-space"> </span>to the Policy Decision Point’s base URL (which is the<span class="gmail-Apple-converted-space"> </span><code>policy_decision_point</code><span class="gmail-Apple-converted-space"> </span>value from the PDP Metadata, if available).</li></ul><p class="gmail-part" style="color:rgb(0,0,0)">That seems incompatible with each other…. does anyone know what is intended here?</p><p class="gmail-part" style="color:rgb(0,0,0)">Suggested fix: add<span class="gmail-Apple-converted-space"> </span><code>access</code><span class="gmail-Apple-converted-space"> </span>in front of<span class="gmail-Apple-converted-space"> </span><code>v1</code><span class="gmail-Apple-converted-space"> </span>in the first paragraph.</p><h4 class="gmail-part" id="gmail-Allowing-other-bindings" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Allowing-other-bindings" title="Allowing-other-bindings"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Allowing other bindings</h4><p class="gmail-part" style="color:rgb(0,0,0)">And as a second concern; the API version requirement enforces that we use URLs and thus HTTP(S) for the API.<br>The Transport section however states:</p><blockquote class="gmail-part" style="color:rgb(0,0,0)"><p>Additional transport bindings (e.g. gRPC) MAY be defined in the future in the form of profiles, and MAY be implemented by a PDP.</p></blockquote><p class="gmail-part" style="color:rgb(0,0,0)">Even though gRPC is also HTTP-based, the wording seems to imply that non-HTTP transport bindings can also be added.<br>To clarify that we should either:</p><ul class="gmail-part gmail-in-view" style="color:rgb(0,0,0)"><li class="gmail-">be explicit in the Transport that different serialization formats may be allowed; but all transport happens over HTTP(S)</li><li class="gmail-">state that the API version should contain /v1 when using HTTP or move that requirement to the HTTPS transport binding altogether<br>Which way should we go there?</li></ul><p class="gmail-part gmail-in-view" style="color:rgb(0,0,0)">WG decision: we should reword to make</p><ol class="gmail-part gmail-in-view" style="color:rgb(0,0,0);padding-left:2em"><li class="gmail-">The HTTPS/JSON binding normative (as it is today)</li><li class="gmail-">Add text that says future bindings (not just HTTP) are possible through dedicated profiles.</li></ol><h4 class="gmail-part gmail-in-view" id="gmail-Component-Naming" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Component-Naming" title="Component-Naming"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Component Naming</h4><p class="gmail-part gmail-in-view" style="color:rgb(0,0,0)">One final point which would be nice to tackle before going to final is regarding consistency in terminology.<br>Currently the spec refers to the server in these ways:</p><ul class="gmail-part gmail-in-view" style="color:rgb(0,0,0)"><li class="gmail-">authorization service (PDP)</li><li class="gmail-">Policy Decision Point service</li><li class="gmail-">Policy Decision Point</li><li class="gmail-">Policy decision point</li><li class="gmail-">PDP<br>And it refers to the client in these ways:</li><li class="gmail-">PEP</li><li class="gmail-">Policy Enforcement Point</li><li class="gmail-">API client (PEP)</li><li class="gmail-">client (PEP)</li><li class="gmail-">client(s)</li><li class="gmail-">Consumer(s) of the metadata (in “PDP Metadata” section)<br>The easiest would be to just use PDP and PEP everywhere; but Search APIs can also be called by UIs directly so in those cases it’s not fully accurate.</li></ul><p class="gmail-part gmail-in-view" style="color:rgb(0,0,0)">WG Decision: we will stick to PEP and PDP terminology. We can add a paragraph in the spec (non-normative) that explains PEP in the broader sense (search, boxcarring)</p><h3 class="gmail-part gmail-in-view" id="gmail-Demo-Update" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Demo-Update" title="Demo-Update"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Demo Update</h3><ul class="gmail-part gmail-in-view" style="color:rgb(0,0,0)"><li class="gmail-">David produced a diagram that needs refinement - see<span class="gmail-Apple-converted-space"> </span><a href="https://hackmd.io/1xG8MxATR_KsuYF7fXOVoA?both" target="_blank" rel="noopener">https://hackmd.io/1xG8MxATR_KsuYF7fXOVoA?both</a></li><li class="gmail-">Jonas (Curity) is ready to be integrated</li><li class="gmail-">Alex O. needs the sample data to be set in stone before onboarding a new IdP<ul><li class="gmail-">David will provide the sample data ASAP.</li><li class="gmail-">Alex & David will sync up tomorrow</li></ul></li></ul><h4 class="gmail-part gmail-in-view" id="gmail-Participant-Outreach" style="color:rgb(0,0,0)"><a class="gmail-anchor gmail-hidden-xs" href="#Participant-Outreach" title="Participant-Outreach"><span class="gmail-octicon gmail-octicon-link gmail-ph gmail-ph-link-simple-horizontal"></span></a>Participant Outreach</h4><ul class="gmail-part gmail-in-view" style="color:rgb(0,0,0)"><li class="gmail-">See<span class="gmail-Apple-converted-space"> </span><a href="https://hackmd.io/@oidf-wg-authzen/idp-demo-participants" target="_blank" rel="noopener">https://hackmd.io/@oidf-wg-authzen/idp-demo-participants</a></li><li class="gmail-">Make sure to check IdP and PDP lists</li></ul></div></div>