-
Notifications
You must be signed in to change notification settings - Fork 15
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Authenticating Users #27
Comments
In terms of authenticating clients, the OIDC flow will redirect with both an access_token and an id_token. The ID token should be used to authenticate the user to the client. |
https://openid.net/specs/openid-connect-core-1_0.html#IDToken
https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
When we use Even if we use OIDC to login to some distinct Authorization Server, that AS will act as Client / RP and will not have another client / app involved in the flow. Trying to make Resource Server to act as Client / RP and have another Client involved in the flow doesn't seem to me like using OIDC as intended. |
Following up discussion on today's Authorization Panel call. I would like to propose that User never directly authenticates with any Resource Server. Since User will always use some client to access resources on various Resource Servers, the User authorizes the client (delegates subset of one's own access to it) in most cases restricting it to some 'kinds' (eg. shapes) of data. Most clients have some special purpose and they only can handle some 'kinds' of data anyways. Resource Servers only verifies that authorization granted to the Client by the User, and based on that know on behalf of which User that Client acts. |
i think it'll be common for users to log directly in to a site/RS (the "first party" login case), where the site itself is the client of the OpenID Provider. as far as the OP is concerned, this case is and ought to be indistinguishable from the user logging in to any other app. |
Do you mean cases where Client running fully in web browser stays hosted on a Resource Server so they share the same origin? Other than that I don't think we've ever consider Solid Resource Server itself to act as Solid Client. Solid Resource Server acts in few situations as HTTP Client but only accessing public resources so it doesn't require any authorization from any user. |
i mean the user using her web browser to directly access resources on the RS. here the RS is an OpenID Connect client (not an HTTP client). this is what happens today if you navigate to a site running NSS and attempt to access a restricted resource (it'll prompt you to log in with your webid, set a cookie, and then present an HTML viewer for the resource when your browser asks with |
I think this only happens because NSS also acts as OP which establishes cookie based session. Many NSS deployments also host data browser (i think mashlib.js) acting as a solid client which fully runs in web browser and uses solid-auth-client module. User can log in to that mashilb.js app/client hosted on NSS RS but I don't think that RS itself acts as OIDC Client. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
While #25 focuses on authenticating Clients, here we can focus on authenticating Users. Preferably we can start following up with PRs for specific findings. In #2 we have some relevant points as well, I think we can extract ones related to user authentication here and close #2 which served as meeting notes.
I can prepare PR for next Monday formulating above as group finding.
Authenticating with OIDC Provider
Authenticating with Resource Servers
Authenticating with Client
Authenticating with Authorization Servers
The text was updated successfully, but these errors were encountered: