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

Implement support for Client Credentials flow #144

Open
m-mohr opened this issue Jun 2, 2023 · 8 comments · May be fixed by #149
Open

Implement support for Client Credentials flow #144

m-mohr opened this issue Jun 2, 2023 · 8 comments · May be fixed by #149
Assignees
Milestone

Comments

@m-mohr
Copy link
Member

m-mohr commented Jun 2, 2023

The OIDC client credentials flow for long machine-to-machine workflows would be nice.

Can probably be supported through req_oauth_client_credentials in httr2

@afischbach
Copy link

USGS is seeking to automate daily Sentinel-1 and -2 imagery access to support wildlife management at remote sites across the Pacific Arctic.
I understand that a (semi-)automated workflow is available within the python data access toolset (https://open-eo.github.io/openeo-python-client/auth.html#oidc-authentication-dynamic-method-selection).
However, the USGS IT security environment limits our ability to use python for these automated processes.
Please advise if this workflow may be advanced for the r scripting environment.

@m-mohr
Copy link
Member Author

m-mohr commented Feb 13, 2024

Yes, implementing the Clients Credentials Flow should be possible, but we have no funding to implement new features at the moment. PRs are also welcome, of course. Don't forget that the Flow also needs to be supported by the backend that you plan to connect to.

@afischbach
Copy link

afischbach commented Feb 13, 2024 via email

@m-mohr
Copy link
Member Author

m-mohr commented Feb 13, 2024

For contractual information please see https://mohr.ws/contracting.html
This should be a fairly small task (1-2 days).

Could you please let me know which backend you plan to work against? Is it a public one such as CDSE for example? Have you ensured that they support the Client Credentials Flow? Thanks.

@m-mohr
Copy link
Member Author

m-mohr commented Jun 13, 2024

@soxofaan As you asked recently about this for the Web Editor, would this also be of interest to VITO/CDSE/...?

@soxofaan
Copy link
Member

hmm I don't think we already had R users that requested client credentials.

@soxofaan
Copy link
Member

soxofaan commented Jun 13, 2024

However, the USGS IT security environment limits our ability to use python for these automated processes.
Please advise if this workflow may be advanced for the r scripting environment.

@afischbach
If you are working in constrained environments like this, I also like to point out that you don't have to use any of the official openeo client libraries to interact with an openeo backend. You basically just need a tool or language that can do HTTP requests. Resolving the client credentials is essentially also just a single HTTP request.
Obviously you have to do some more work that the official openeo clients do for you. But you could prepare a lot in advance outside of the constrained environment, with the tech of your choice, e.g. to produce process graph templates. At run time you then just have to fill in some placeholders and do a couple of HTTP requests.
I probably make it sound easier than it is, but I just wanted to point out that this is an option to consider if you have the resources to do that.

@afischbach
Copy link

afischbach commented Jun 13, 2024 via email

@m-mohr m-mohr self-assigned this Jul 26, 2024
@m-mohr m-mohr linked a pull request Jul 26, 2024 that will close this issue
@m-mohr m-mohr linked a pull request Jul 26, 2024 that will close this issue
@m-mohr m-mohr added this to the 1.4.0 milestone Jul 26, 2024
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

Successfully merging a pull request may close this issue.

3 participants