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

Deprecate OIDC Authorization code grant support and usage #235

Open
soxofaan opened this issue Sep 10, 2021 · 3 comments
Open

Deprecate OIDC Authorization code grant support and usage #235

soxofaan opened this issue Sep 10, 2021 · 3 comments

Comments

@soxofaan
Copy link
Member

soxofaan commented Sep 10, 2021

The initial OIDC implementation in the openEO python client was focused on the Authorization code grant (the flow that works with redirect urls and such).
Getting this working in a python client context is far from trivial in practice because of the networking aspects of the redirect url.

Now that the Device Authorization Grant (aka device flow) is getting more popular and more widely supported, nobody is probably going to use the Authorization code grant.

Possible action points

  • current documentation is currently is quite focused on Authorization Code Grant (in terms of priority and documentation volume). The device auth grant should get more focus instead
  • remove implementation parts related to Auth Code Grant, which should make the OIDC implementation easier to maintain
@m-mohr
Copy link
Member

m-mohr commented Sep 10, 2021

I think as long as e.g. also the client credentials flow is supported as a more widely supported flow is also available here (is it? I think it would make sense...), the auth code flow is probably not really required. I would think just device code may be still not widely implemented enough, but if there's a more common alternative, the deprecation/removal is fine

@soxofaan
Copy link
Member Author

client credentials flow is supported as a more widely supported flow is also available here (is it? I think it would make sense...)

Client credentials flow It is supported, but the problem with it is that it only allows to identify the (OIDC) client, not the user using that client, so you can not really leverage that to get to user level properties you usually want (access rights, billing plans, ...).

FYI: at the moment I am mainly thinking about changing the focus/emphasis in the documentation, not really changing implementation details

@m-mohr
Copy link
Member

m-mohr commented Sep 13, 2021

Client credentials flow It is supported, but the problem with it is that it only allows to identify the (OIDC) client, not the user using that client, so you can not really leverage that to get to user level properties you usually want (access rights, billing plans, ...).

Ah, that's correct... the main point was to not only rely on device code anyway. :-)

@soxofaan soxofaan added the auth label Oct 11, 2021
soxofaan added a commit that referenced this issue Jun 2, 2023
- deprecate `authenticate_oidc_authorization_code`
- remove authorization code grant (and password grant) from docs
- trim more fat from general OIDC docs
- document `authenticate_oidc` more in detail
- document env var handling from `authenticate_oidc` and `authenticate_oidc_client_credentials`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants