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

Update OIDC login to add support for PKCE #298

Open
paulmillar opened this issue Mar 27, 2024 · 0 comments
Open

Update OIDC login to add support for PKCE #298

paulmillar opened this issue Mar 27, 2024 · 0 comments
Labels
enhancement OIDC Problems with OpenID-Connect support

Comments

@paulmillar
Copy link
Member

dCacheView currently uses implicit flow to obtain an access token from the OP.

Implicit flow has several known problems. These are principally related to the complexity of the web-browser and the JavaScript library ecosphere.

PKCE is defined in RFC 7636. authorization code interception attack

OAuth 2.0 public clients utilizing the Authorization Code Grant are
susceptible to the authorization code interception attack. This
specification describes the attack as well as a technique to mitigate
against the threat through the use of Proof Key for Code Exchange
(PKCE, pronounced "pixy").

Opinion is somewhat divided: some people suggest that if the risks of using implicit flow are understood and acceptable then PKCE provides limited benefits (new projects should use PKCE but existing code using implicit flow is OK.). Others say that PKCE should always be used because it guards against certain attack vectors.

From my experience operating with large infrastructures (Helmholtz ID, EGI CheckIn), dCacheView's use of implicit flow is inconvenient. OPs seem to have implicit flow disabled by default. This means there is an additional, administrative step (requesting implicit flow is enabled) when adding support for federated login with dCacheView.

Adopting PXCE would allow dCacheView to use an authentication flow that OPs more readily support -- although this hasn't been tested.

Here are some articles advocating PKCE adoption:

https://christianlydemann.com/implicit-flow-vs-code-flow-with-pkce/
https://dropbox.tech/developers/pkce--what-and-why-

@paulmillar paulmillar added enhancement OIDC Problems with OpenID-Connect support labels Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement OIDC Problems with OpenID-Connect support
Projects
None yet
Development

No branches or pull requests

1 participant