ory / kratos

The most scalable and customizable identity server on the market. Replace your Homegrown, Auth0, Okta, Firebase with better UX and DX. Has all the tablestakes: Passkeys, Social Sign In, Multi-Factor Auth, SMS, SAML, TOTP, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
https://www.ory.sh/?utm_source=github&utm_medium=banner&utm_campaign=kratos
Apache License 2.0
11.34k stars 964 forks source link

Preserve request_url in OIDC login->registration and registration->login transitions #3630

Open stas410 opened 1 year ago

stas410 commented 1 year ago

Preflight checklist

Ory Network Project

No response

Describe your problem

I was relying on ctx.flow.request_url parameter in post login and post registration webhooks and discovered that during OIDC flow transition from registration to login and vice versa, the original request_url value is lost and replaced by oidc callback url.

Describe your ideal solution

It would seem intuitive for the request_url value to be preserved in these scenarios.

Here is a potential patch: https://github.com/ory/kratos/commit/3a5b269c7343f0a00f6eb31b6cfc7aaadd964ac0

Workarounds or alternatives

I've also considered using transient_payload parameter but it's only currently implemented for registration flow and doesn't work for login or for the transition scenarios above. I think it would also be useful to implement transient_payload for all these cases but for my purposes right now, preserving request_url does the job.

Version

v1.0

Additional Context

No response

github-actions[bot] commented 2 weeks ago

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

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 🙏✌️