[Openid-specs-ab] Add claim filter to user info request

Mike Jones Michael.Jones at microsoft.com
Sat May 4 08:41:56 UTC 2013

We discussed #801 on the call.  People agreed that it wasn’t clear whether the client was supposed to add “?schema=openid” to the advertised UserInfo endpoint or whether that parameter was supposed to be included in the advertised value by the OP.  We removed it to remove the ambiguity and prevent otherwise likely interop problems.

The conclusion on the call was that if an OP wanted to make endpoints available using other schemas, that they’re probably add different endpoints to their discovery document.  For instance, an extension could define a discovery parameter or a SCIM endpoint at the OP.

                                                            -- Mike

From: openid-specs-ab-bounces at lists.openid.net [mailto:openid-specs-ab-bounces at lists.openid.net] On Behalf Of Nat Sakimura
Sent: Friday, May 03, 2013 10:38 PM
To: Torsten Lodderstedt
Cc: openid-specs-ab at lists.openid.net
Subject: Re: [Openid-specs-ab] Add claim filter to user info request

"Permanent access to claim a and b" has to be bound to a purpose. If at a later date, when additional grant to "claim c" is made, it is likely that the purpose would be different, since if the purpose was the same, the grant request for c were requested to start with a and b. The access token issued in the second transaction may allow the client to query a, b, and c only if the purpose was the same AND the subject did understand that they were taken together.

Re: SCIM, current UserInfo endpoint schema lacks enterprise oriented claims. I was suggesting that perhaps we need them. OpenID Connect used to have the ability to specify the schema for userinfo endpoint, which was removed by https://bitbucket.org/openid/connect/issue/801/ (It was resolved very quickly and the discussion is not recorded in the ticket so I cannot track the discussion easily for now). The reason we had "schema" parameter there was that we could state "scim" or "poco" there so that we can use the same access interface as userinfo while using different schema. That's what I was thinking of.

2013/5/3 Torsten Lodderstedt <torsten at lodderstedt.net<mailto:torsten at lodderstedt.net>>
Hi Nat,

the current behaviour is limited. It does not consider persistent authorization grants. Suppose, the user grants a client permanent access to claim a and b in the initial transaction and to claim c in a second transaction. In my opinion, the access token issued in the second transaction must allow the client to query a, b, and c.

Regarding SCIM: are you saying openid connect is inappropriate for enterprise scenarios?


Nat Sakimura <sakimura at gmail.com<mailto:sakimura at gmail.com>> schrieb:

The behavior is correct. The access token represents the "consent". When obtaining the consent, the purpose specification and data minimization principle should apply, thus giving wide range consent at the beginning and later filtering is not only unadvisable but also sometimes illegal.

In the enterprise use case, it is deemed that the personal data that the enterprise has have been granted the user consent out of band so that the data can be used without explicit consent at runtime. It is an implicit consent model. Under such circumstances, filtering at the runtime may make sense, but in the enterprise cases, perhaps SCIM endpoint is more appropriate source of employee data.


2013年5月2日木曜日 Torsten Lodderstedt torsten at lodderstedt.net<mailto:torsten at lodderstedt.net>:
Hi all,

please take a look at https://bitbucket.org/openid/connect/issue/832/standard-41-add-claim-filter-to-user-info and give your feedback.

I think the way to control the claim set returned by the user info endpoint needs some clarification/improvement.


It seems the claim set returned by the user info response is controlled by the scope/claim parameter of the openid authorization request. This means a client must acquire a new access token in order to effectively change the response of the user info endpoint. Seems a bit strange to me.

Moreover, it also requires the client to specify all claims it wants to query when obtaining the access token. For our internal applications, this would mean to send up to 40 claim names in an authorization although access is not authorized by the user but a system policy on a per client base. This unnecessary increases the request size (URL length).

I think a parameter to list the claims a client wants to obtain would be very useful and a reasonable extension to the current design.
Openid-specs-ab mailing list
Openid-specs-ab at lists.openid.net<mailto:Openid-specs-ab at lists.openid.net>

Nat Sakimura (=nat)
Chairman, OpenID Foundation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20130504/6185a7d5/attachment.html>

More information about the Openid-specs-ab mailing list