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

Support for Authorization code with PKCE #470

Closed
andifalk opened this issue Nov 12, 2018 · 10 comments
Closed

Support for Authorization code with PKCE #470

andifalk opened this issue Nov 12, 2018 · 10 comments

Comments

@andifalk
Copy link

According the newest spec of OAuth2 implicit flow is NOT recommended any more ("Must NOT be used")
https://tools.ietf.org/html/draft-ietf-oauth-security-topics-09#section-2.1.2
https://tools.ietf.org/html/draft-parecki-oauth-browser-based-apps-00#section-7.8

Instead "Authorization code with PKCE" is the recommended one for public clients.
Please also support this Authorization Code Flow with PKCE. Implicit flow is NOT considered as best practice any more.

@manfredsteyer
Copy link
Owner

Currently, it's just an early proposal and the foundation for a disussion.

The good message is: This lib follows best practices to use it in a safe way and when you combine it with OIDC you get further protections.

So the current strategy is to wait for the final version of this doucment and than decide what's next.

@mmellison
Copy link

It would be nice to see this be implemented sooner rather than later.

This isn't a standard we're waiting on, its a BCP. The actual standards for Authorization Code Flow[1] and PKCE[2] are already well established, proposed standards. The BCP is more relevant for determining the default grant types used by libraries, such as this.

[1] https://tools.ietf.org/html/rfc6749, https://tools.ietf.org/html/rfc8252
[2] https://tools.ietf.org/html/rfc7636

@bechhansen
Copy link
Contributor

@seglberg I did an Authorization Code Flow implementation without PKCE, but unfortunately the PR was rejected.

You can have a look at https://github.com/bechhansen/angular-oauth2-oidc
I'm currently not using it so it is currently not maintained.

@mmellison
Copy link

Yes! I'm aware of that. 👍
Of course for maintenance reasons it would be beneficial to have it upstream. If its a matter of sponsoring some form of work (or an official fork), we at @arroyonetworks can look into that as well.

@leonardochaia
Copy link
Contributor

https://brockallen.com/2019/01/03/the-state-of-the-implicit-flow-in-oauth2/

I just wanted to add this here. I consider Brock and Dominick opinion important on this topic.

@manfredsteyer
Copy link
Owner

The first one is a draft; the second one experimental. Nethertheless, I'll begin to implement it soon.

@bechhansen should we merge our efforts? Back then, I decided against it b/c I wanted to keep this lib as small as possible but things are changing now with those proposals.

@bechhansen
Copy link
Contributor

@manfredsteyer sure. It ought to be fairly easy to merge my stuff to the upstream.
I have still no PKCE implementation though.

@fauxcoding
Copy link

@bechhansen I've noticed that you are implementing the refresh tokens as part of the Authorization Code Public Client Flow work.

During my time working with OAuth and OIDC I was always taught to keep refresh tokens away from public clients.

I'd imagine that the majority of users (hopefully everyone) would be using Authorization Code Public Client without refresh tokens and instead renewing their tokens using the silent refresh hack that we currently use with implicit flow.

I'm not sure this library should include the handling of refresh tokens as this might encourage users to implement bad practice.

What are your thoughts on this?

@fabich
Copy link

fabich commented Feb 21, 2019

@foadshariat7
Copy link

Any updates?

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

8 participants