Skip to content
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

non-deterministic behavior with multiple solid:oidcIssuer #45

Open
zenomt opened this issue Jul 13, 2019 · 0 comments
Open

non-deterministic behavior with multiple solid:oidcIssuer #45

zenomt opened this issue Jul 13, 2019 · 0 comments

Comments

@zenomt
Copy link

zenomt commented Jul 13, 2019

oidc-auth-manager will have inconsistent/non-deterministic behavior if a webid lists multiple solid:oidcIssuer triples.

a webid should be allowed to list multiple issuers. potential use cases:

  • a user might want to use their webid with a publicly accessible provider as well as a private network ("intranet" / homenet / enterprise) provider;
  • a user might want to use a normal OpenID provider and the Self-Issued OpenID Provider or static openid-configuration/jwks files, to allow for ordinary web browser access as well as command-line tool access;
  • a user might be transitioning from one provider to another and need a period of overlap;
  • because why not? :)

the logic right now appears to be "find the provider and compare it against the iss claim in the id_token". this can fail if there's more than one provider, depending on which of the providers is selected by anyValue().

the logic should be "confirm that the iss is an approved provider according to the user" as that is more general and tracks the user's preference and intent.

one potential issue with changing this behavior is that the comment for http://www.w3.org/ns/solid/terms#oidcIssuer is "The preferred OpenID Connect issuer URI for a given Web ID". either this comment should be changed to reflect the possibility of multiple issuers (for example, "An approved OpenID Connect issuer URI for a given Web ID"), or a different predicate should be used (perhaps http://openid.net/specs/connect/1.0/issuer?). this is also a webid-oidc-spec issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant