[Openid-specs-ab] Call for Adoption of the OpenID Provider Commands Specification

Aaron Parecki aaron at parecki.com
Fri Feb 21 16:55:58 UTC 2025


I took another look at the draft after the discussion on the last call, and
I have concerns about the current state of the document and think it should
be revised before adopting it. I realize changes are possible after
adoption, but I believe the scope of the current document is too broad, and
should be narrowed before adoption.

In general I am supportive of a lighter weight way to achieve most of what
is described in this draft. I like that the command tokens leverage the
existing signing key that RPs already use to validate ID tokens. The
account lifecycle commands are well thought out and I appreciate the state
transition diagram in the draft.

However, I have concerns about the Tenant commands as well as the use of
Server-Sent Events.

The Tenant commands bring in a new concept that does not exist elsewhere in
OpenID Connect today. I understand the goal here, but I am not convinced
this draft is the right place to introduce this concept. This would be
better off as a separate OpenID Connect extension that extends both OpenID
Connect Core and OP Commands to add the Tenant concept.

The use of Server-Sent Events is somewhat unusual here. It technically
works, but the API is actually defined in HTML as an API to allow a web
server to stream content to a web browser. I am personally a huge fan of
SSE as it's easier to deploy in web servers compared to Websockets. Using
it for server-to-server communications is a somewhat non-traditional
application of the technology. While it would work, I am concerned that it
is not the best tool for the job, since there are far fewer server-side SSE
client libraries since most of the use is where the client is the web
browser. That said, I am not entirely opposed to using it this way, I just
worry that bringing it in to the OP Commands draft this early might
backfire on the other more easily understood patterns in the draft.

This is all to say that I would support adopting a version of this draft
that describes only the account lifecycle commands with HTTP delivery as
described in the first half of the document, and remove the Tenant commands
and SSE delivery mechanisms.

Aaron



On Thu, Feb 20, 2025 at 1:18 PM Michael Jones via Openid-specs-ab <
openid-specs-ab at lists.openid.net> wrote:

> This starts a two-week call for feedback on whether to adopt the OpenID
> Provider Commands specification contributed to the working group by Dick
> Hardt and Karl McGuiness as an OpenID Connect Working Group specification.
> Please reply-all by Thursday, March 6th saying whether you are favor of
> adoption or not, briefly also saying why.
>
>
>
> You can read more about the decision made on today’s working group call to
> start a call for adoption in the minutes written by John Melati
> <https://lists.openid.net/pipermail/openid-specs-ab/2025-February/010620.html>
> .
>
>
>
>                                                 Writing as a working group
> chair,
>
>                                                                 -- Mike
>
>
>
> *From:* Dick Hardt <dick.hardt at gmail.com>
> *Sent:* Wednesday, January 15, 2025 4:30 AM
> *To:* openid-specs-ab at lists.openid.net
> *Cc:* Karl McGuinness <me at karlmcguinness.com>; Michael Jones <
> michael_b_jones at hotmail.com>; Nat Sakimura <sakimura at gmail.com>; John
> Bradley <ve7jtb at ve7jtb.com>
> *Subject:* OpenID Provider Commands - proposed WG specification
>
>
>
> Hello WG (and chairs)
>
> Karl (cc'ed) and I have been working on a new protocol that complements
> OpenID Connect for an OP to centrally manage account lifecycles at RPs. We
> have also defined an Unauthorize Command which undoes whatever actions an
> RP did in a previous OpenID Connect login -- useful if an OP suspects an
> account or device had been compromised -- instructs an RP to "kill all the
> sessions and tokens"
>
>
>
> We contribute the IP in the attached HTML and Markdown files to the OpenID
> Foundation per the Foundations IPR.
>
>
>
> We have a FAQ as a note at the top, that I am including below for your
> convenience.
>
>
>
> We hope this work is of interest to others in the WG, and that together we
> can improve the security posture of implementers.
>
>
>
> /Dick & Karl
>
>
> *1. How does SCIM compare to OpenID Provider (OP) Commands?*
>
> The SCIM protocol is a general purpose protocol for a client to manage
> resources at a server. When the SCIM protocol is used between an IdP and an
> RP, the schema is defined by the RP. The resources managed are in the
> context of the RP Tenant in a multi-tenant RP. Any extensions to the schema
> are defined by the RP. This provided an interoperable protocol to manage RP
> resources. OpenID Provider Commands are an extension of a user Account
> created by OpenID Connect. It uses the same identity Claims that the OP
> issues for the user. It uses the same token Claims, and is verified the
> same way. OpenID Provider Commands are issued in the context of the OP
> Tenant in a multi-tenant OP.
>
> *2. How do Shared Signals / RISC compare to OpenID Provider Commands?*
>
> Shared Signals and RISC are events that one party is sharing with another
> party. The actions a receiving party takes upon receiving a signal are
> intentionally not defined. The actions taken by the RP when receiving an
> OpenID Provider Command is specified. This gives an OP control over the
> Account at the RP.
>
> *3. Are OpenID Provider Commands a replacement for SCIM, Shared Signals,
> or RISC?*
>
> No. These standards are deployed by organizations that have complex
> requirements, and these standards meet there needs. Most OP / RPs do not
> deploy any of these standards, as the implementation complexity is not
> warranted. OpenID Provider Commands are designed to build on OpenID
> Connect, allowing RPs using OpenID Connect an easy path to offer OPs a
> standard API for security and lifecycle operations.
>
> *4. Why are there only groups? Why not roles and entitlements?*
>
> OpenID Provider Commands are used to project the Tenant data managed
> centrally by the OP. Groups are a common term used by OPs to manage a
> collection of Accounts. The terms roles and entitlements tend to be RP
> specific. Generally, groups from the OP will be mapped to roles and/or
> entitlements that are RP specific, at the RP.
> _______________________________________________
> Openid-specs-ab mailing list
> Openid-specs-ab at lists.openid.net
> https://lists.openid.net/mailman/listinfo/openid-specs-ab
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20250221/e0d76e12/attachment.htm>


More information about the Openid-specs-ab mailing list