You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been trying to implicitly add the LibgreGraph.UUID scope (to always get the lg.uuid claim added to tokens and userinfo) to our client configuration. But it breaks as soon as the client requires consent. (E.g. because trusted is not set to true or when the client sends prompts=consent with the authentication request.
E.g. this (trusted) client config works and successfully includes the lg.uuid claim in the response:
and point your brower to http://127.0.0.1:5556 (ideally a private window) with CLIENT_ID=works the browser should display the userinfo including the lg.uuid claim (provided the used LDAP server returns and entryUUID attribute for the user.
To reproduce the error use CLIENT_ID=broken go run example/userinfo/app.go and open a new private session in the browser.
This time you should be prompted for consent and now the lg.uuid claim is missing from the userinfo. Shouldn't the implict_scopes always be include regardless of the given consent? Or alternatively shouldn't the consent page request consent for that scope if it's part of the implict scopes?
BTW, the problem is also reproducible for trusted clients that require consent. See line 82 on the example app.
The text was updated successfully, but these errors were encountered:
I have not looked at the details yet but reading this makes me think that the "implicit scopes" are implicitly added client scopes (as if the client would have requested them) but does not implicitly give a grant to get those claims.
So maybe "somewhere on the way through consent" the implicit scopes are lost (as the client never added them, this might be simply be an oversight that the implicit scopes are not used when requesting consent).
So things seem to be fine. It has been a while since this issue was opened, so closing this here for now. If this should be still an issue please reopen for further investigation.
I've been trying to implicitly add the
LibgreGraph.UUID
scope (to always get thelg.uuid
claim added to tokens and userinfo) to our client configuration. But it breaks as soon as the client requires consent. (E.g. becausetrusted
is not set totrue
or when the client sendsprompts=consent
with the authentication request.E.g. this (trusted) client config works and successfully includes the
lg.uuid
claim in the response:while this one does not (only difference is the missing
trusted: true
:How to reproduce
Start lico using the clients registry from https://gist.github.com/rhafer/8f94d55d39332589ba0cb80fd6c1b2ce#file-identifier-registration-yaml
I used a slightly modified version of the go-oidc userinfo sample: https://gist.github.com/rhafer/8f94d55d39332589ba0cb80fd6c1b2ce#file-userinfo-go
which basically just return the userinfo of the authenticated user.
Just copied it into
example/userinfo/app.go
of a local clone of https://github.com/coreos/go-oidc and run it with:CLIENT_ID=works go run example/userinfo/app.go
and point your brower to http://127.0.0.1:5556 (ideally a private window) with
CLIENT_ID=works
the browser should display the userinfo including thelg.uuid
claim (provided the used LDAP server returns andentryUUID
attribute for the user.To reproduce the error use
CLIENT_ID=broken go run example/userinfo/app.go
and open a new private session in the browser.This time you should be prompted for consent and now the
lg.uuid
claim is missing from the userinfo. Shouldn't theimplict_scopes
always be include regardless of the given consent? Or alternatively shouldn't the consent page request consent for that scope if it's part of the implict scopes?BTW, the problem is also reproducible for trusted clients that require consent. See line 82 on the example app.
The text was updated successfully, but these errors were encountered: