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

Parameter forwarding to OIDC auth URL #2069

Closed
3 of 6 tasks
gingerich opened this issue Dec 15, 2021 · 6 comments
Closed
3 of 6 tasks

Parameter forwarding to OIDC auth URL #2069

gingerich opened this issue Dec 15, 2021 · 6 comments
Assignees
Labels
feat New feature or request.
Milestone

Comments

@gingerich
Copy link

Preflight checklist

Describe your problem

I'm connecting to a OIDC provider that accepts query params described in the OIDC specification. In particular, I need to pass the login_hint query param to the auth URL. This is a per-request value so it can't be a config value or hardcoded in a OIDC strategy.

For example, Keycloak's auth request supports parameter forwarding to the auth URL of any upstream IdPs. https://www.keycloak.org/docs/latest/securing_apps/#_params_forwarding

For context, the flow I'm trying to achieve is

  1. Show form with only email input
  2. User submits email and my server-side code checks if they should auth via OIDC based on the email domain
  3. If so, user is redirected to the OIDC provider which pre-fills their email address in the login form
  4. Otherwise, show password input and submit as usual

Describe your ideal solution

When submitting a login/registration flow where method: 'oidc', I'd like to pass extra arguments that will be forwarded as query params to the auth url of the oidc provider. I think adding a params object to the submit payload containing key/value parameters would be a feasible solution for this.

Workarounds or alternatives

I haven't found any suitable workarounds yet.

Version

v0.8.0-alpha.3

Additional Context

No response

@gingerich gingerich added the feat New feature or request. label Dec 15, 2021
@aeneasr
Copy link
Member

aeneasr commented Jan 2, 2022

That's a valid point! Do you need to set these always from the callee or do you want to set those globally per provider?

@gingerich
Copy link
Author

gingerich commented Jan 4, 2022

In my case I need to always pass the login_hint value from the callee. But I could see in other cases it may be useful to configure custom auth params globally for a generic provider.

@aeneasr
Copy link
Member

aeneasr commented Jan 4, 2022

Ok, got it. I think we could include parameters which would be set by clients usually (such as login_hint, or locale). Would you be interested in contributing this change? First we should agree on a list of parameters that should be passable.

@gingerich
Copy link
Author

I have limited experience with Golang but I'm happy to take a stab at it since the scope is small and seems pretty straightforward. I'll put together a brief proposal before I get started, including a parameter list to agree on.

@aeneasr aeneasr added this to the Stable Release milestone Mar 7, 2022
@github-actions
Copy link

github-actions bot commented Mar 8, 2023

Hello contributors!

I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue

  • open a PR referencing and resolving the issue;
  • leave a comment on it and discuss ideas on how you could contribute towards resolving it;
  • leave a comment and describe in detail why this issue is critical for your use case;
  • open a new issue with updated details and a plan for resolving the issue.

Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.

Unfortunately, burnout has become a topic of concern amongst open-source projects.

It can lead to severe personal and health issues as well as opening catastrophic attack vectors.

The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.

If this issue was marked as stale erroneously you can exempt it by adding the backlog label, assigning someone, or setting a milestone for it.

Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!

Thank you 🙏✌️

@github-actions github-actions bot added the stale Feedback from one or more authors is required to proceed. label Mar 8, 2023
@aeneasr
Copy link
Member

aeneasr commented Mar 8, 2023

@Benehiko is actually working on this atm

@github-actions github-actions bot removed the stale Feedback from one or more authors is required to proceed. label Mar 9, 2023
@aeneasr aeneasr closed this as completed in b6b1679 Mar 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request.
Projects
None yet
Development

No branches or pull requests

3 participants