Hi Scott,

please find my comments below.

Il 09/02/2022 21:05, Hollenbeck, Scott ha scritto:

*From:* regext <regext-boun...@ietf.org> *On Behalf Of *Mario Loffredo
*Sent:* Wednesday, February 9, 2022 1:07 PM
*To:* Hollenbeck, Scott <shollenbeck=40verisign....@dmarc.ietf.org>; regext@ietf.org *Subject:* [EXTERNAL] Re: [regext] I-D Action: draft-ietf-regext-rdap-openid-10.txt

*Caution:*This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Hi Scott,

a first feedback is about the "notice" object used in the examples.

It seems to me that the values of the "description" member are not compliant with what is stated in section 4.3 of RFC 9083:

*an array of strings named "description" for the purposes of conveying any descriptive text*

As a general rule, I think we should not use jagged arrays. They are harmful for clients because they cannot be deserialized straightforwardly.

This is also one of the reasons why jCard is considered inefficient.

So I would opt for defining a new "session response" based on an unambiguous data model.

*/[SAH] Thanks for catching that, Mario. What about something like this (might not be valid json…)?/*

     {

"notices": {

"title": "Login Result",

"description": [

"Login succeeded", "user.idp.example"

         ],

"lang": "en-US"

       },

"userInfo": {

"claims": {

"iss": "https://accounts.someprovider.com";,

"azp": "729559086898-onapsvnhf2og.apps.someprovider.com",

"aud": "729559086898-onapsvnhf2og.apps.someprovider.com",

"sub": "103892603076825016132",

"email": "u...@someprovider.com",

"email_verified": true,

"at_hash": "es5maY5y9jBAWCBMhLokAQ",

"nonce": "dcb29f97c836726ddc074f76fbc21bfd",

"name": "User Person",

"picture": "https://lh3.someprovider.com/a-/AOh14=s96-c";,

"given_name": "User",

"family_name": "Person",

"locale": "en",

"iat": 1644239971,

"exp": 1644243571,

"purpose": "domainNameControl",

"dnt": false

         },

"session": {

"Expires in (seconds)": 3599

         }

       },

     }

The property name "Expires in (seconds)" cannot be deserialized straightforwardly.


Another point: I wonder if we really need to return the claims to the End-User.  The only possible purpose coming in to my mind is that the End-User can check the claims and decide to logout or withdraw the session because he doesn't recognize himself in the claims. For example, an End-User willing to submit requests that shouldn't be logged by the server could check that the "dnt" claim is set to true. Right ?

If yes, I think that a text explaining why the claims are returned should be added. Maybe a point might be added to the list in section 3.1.2 or text added to section 3.1.3.6 .

Anyway, the "claims" object as shown in your example contains some members that are included in the ID Token (https://openid.net/specs/openid-connect-core-1_0.html#IDToken) but missing in the UserInfo response (https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse) such as "iss", "nonce", and others. In my opinion, those members should be removed from the response because they are meaningless for the End-User.

In addtion, the resulting "claims" object would be more compliant with what is stated in section 3.1.3.6 .

   OpenID Connect specified a set of standard Claims in Section 5.1.
   Additional Claims for RDAP are described in Section 3.1.4.


Best,

Mario


_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

--
Dr. Mario Loffredo
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to