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

OIDC: Extra parameters in default clients? #534

Open
m-mohr opened this issue May 23, 2024 · 6 comments
Open

OIDC: Extra parameters in default clients? #534

m-mohr opened this issue May 23, 2024 · 6 comments
Assignees
Labels
user management incl. authorization, account management and billing
Milestone

Comments

@m-mohr
Copy link
Member

m-mohr commented May 23, 2024

Some OIDC services (unfortunately) require some extra parameters to be sent alongside the requests.
Example: Google needs an access_type parameter to get refresh-tokens

It looks like some libraries also support this.
Example: IdentityModel/oidc-client-js#1296

Shall we add an optional field with extra parameters that clients could mix into the request?

@m-mohr
Copy link
Member Author

m-mohr commented May 30, 2024

@soxofaan Do you have thoughts about this?

@soxofaan
Copy link
Member

I don't understand the use case of IdentityModel/oidc-client-js#1296 well enough. On what OIDC request would you need additional parameters?

@m-mohr
Copy link
Member Author

m-mohr commented May 30, 2024

Google for example needs an extra parameter to request a refresh token (instead of the offline scope). See also Open-EO/openeo-earthengine-driver#87. Not really spec compliant (although they claim that), but something that seems happen in practice. I'm wondering whether others have similar issues, then we could provide this as a solution. Wouldn't do it just for Google though.

@soxofaan
Copy link
Member

Yeah, when playing with google OIDC a long time ago, I've also had some issues with them doing some non-standard stuff (or at least doing different things than other providers). I'm not sure we should spend a lot of time trying to adapt to them.

Note that if you really want to integrate Google there are already workarounds through identity federation services like EGI, or host-your-own-Keycloak. If you want Google, you probably want others like GitHub or Microsoft, so you need such a federation/proxy thing anyway

@m-mohr
Copy link
Member Author

m-mohr commented May 31, 2024

I need Google for Google Earth Engine with specific scopes that need to be set, so don't need others and a Keycloak etc would be quite some overhead if it would work at all. Never tried it...

@m-mohr
Copy link
Member Author

m-mohr commented Jun 5, 2024

I think I found another use case of such a query parameter.
For example, we are using this prompt=login/consent/... parameter in openEO Platform.
So I think an optional object that defines additional query parameters to the authorization endpoint isn't that out of scope for us.

@m-mohr m-mohr self-assigned this Jun 5, 2024
@m-mohr m-mohr added the user management incl. authorization, account management and billing label Jun 5, 2024
@m-mohr m-mohr added this to the 1.3.0 milestone Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
user management incl. authorization, account management and billing
Projects
None yet
Development

No branches or pull requests

2 participants