I just looked all the uses of REQUIRED and MUST in the OpenID Connect Core spec. They do things like say which claims are REQUIRED in the ID Token ("iss", "sub", etc.), which OAuth parameters and features are REQUIRED, place restrictions on certain values (such as "iss" MUST use the "https" scheme, "sub" must not be longer than 255 characters, the redirect_uri MUST exactly match a registered value, etc.), say that fields that are not understood MUST be ignored, and say when ID Tokens MUST be signed, and say that user interaction MUST NOT occur with prompt=none, and specify validation rules for some data structures (checking signatures, redirect_uris, etc.).
The key point is that none of the uses of REQUIRED or MUST require implementation of additional features, either by OPs or RPs. They just place restrictions on *how* they are to be implemented. So, in fact, the lists in 15.1 and 15.2 *are* comprehensive sets of required features for the two classes of identity providers. I should have added in my earlier note that there's also a section on MTI features for RPs: 15.4.<http://openid.net/specs/openid-connect-core-1_0.html#RPMTI> Mandatory to Implement Features for Relying Parties Essentially, it says that RPs only need to implement the features that they actually plan to use. Developers have shown in practice to have no problem understanding the OpenID Connect specs or building interoperable implementations. 20 implementations (see http://osis.idcommons.net/wiki/Category:OC5_Solution) are participating in the current (5th) round of interop testing and a number of others also are privately. The specs are clear to developers in part because we kept iterating, taking feedback, refining them, and doing new rounds of interop testing until they were clear and easy to build. There's four years of implementation and deployment experience incorporated into the final specifications. No, everyone won't build every optional feature. That's a good thing - and by design. The specs are designed to let you build only the parts that you need for your use cases, while still being interoperable for the features implemented. Yes, the a4c spec adds a few things that OpenID Connect didn't - primarily the ability to authenticate over the back channel without issuing an ID Token by adding a new response_type, plus definitions of some claim values for the "amr" claim. There's nothing wrong with these additions. However, arguments that "OpenID Connect is too complicated" fall short in face of the actual implementation and deployment experience and I don't think are helpful to the current discussions. We should be positively discussing what features OAuth specs should have, rather than trying to criticize other valuable work that's already widely deployed. Best wishes, -- Mike From: Prateek Mishra [mailto:prateek.mis...@oracle.com] Sent: Friday, June 13, 2014 9:55 AM To: Mike Jones; Bill Burke; Phil Hunt Cc: oauth@ietf.org Subject: Re: [OAUTH-WG] Question regarding draft-hunt-oauth-v2-user-a4c Mike - when i see language like [quote] This list augments the set of features that are already listed elsewhere as being "REQUIRED" or are described with a "MUST", and so is not, by itself, a comprehensive set of implementation requirements for OPs. [\quote] in Section 15.1, I have to say this isn't a clear definition of what is MTI. I guess someone could through comprehensive research determine exactly what might be meant by this section, but that doesn't meet the criteria of "very clear definition of MTI". - prateek - prateek Actually, there is a very clear definition of what the minimal Mandatory To Implement (MTI) in OpenID Connect is - it's right in the spec. See the (quite short) sections: 15.1.<http://openid.net/specs/openid-connect-core-1_0.html#ServerMTI> Mandatory to Implement Features for All OpenID Providers 15.2.<http://openid.net/specs/openid-connect-core-1_0.html#DynamicMTI> Mandatory to Implement Features for Dynamic OpenID Providers -- Mike -----Original Message----- From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Prateek Mishra Sent: Friday, June 13, 2014 9:24 AM To: Bill Burke; Phil Hunt Cc: oauth@ietf.org<mailto:oauth@ietf.org> Subject: Re: [OAUTH-WG] Question regarding draft-hunt-oauth-v2-user-a4c Excellent, now you have put your finger on the precise issue with OIDC - lots of optional extensions and shiny trinkets and lack of a clear definition of a core subset for servers. I realize its exciting for consultants, software and toolkit vendors to have that sort of optionality, but in practice, its NOT A GOOD THING in a protocol. [quote] > >> It is a bit like saying an 18 wheeler is suitable for driving the >> kids to school. :-) > > I don't think this is true. Most oidc oauth extensions are optional > with the sole requirement that providers don't barf if you send them. > [\quote] _______________________________________________ OAuth mailing list OAuth@ietf.org<mailto:OAuth@ietf.org> https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth