-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
feat(auth-google,auth-github): Allow passing a custom callbackUrl to … #10829
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
5 Skipped Deployments
|
|
091b1ed
to
3506098
Compare
3506098
to
f339ff2
Compare
/snapshot-this |
🚀 A snapshot release has been made for this PRTest the snapshots by updating your yarn add @medusajs/admin-bundler@2.1.4-snapshot-20250106093301 yarn add @medusajs/admin-sdk@2.1.4-snapshot-20250106093301 yarn add @medusajs/admin-shared@2.1.4-snapshot-20250106093301 yarn add @medusajs/admin-vite-plugin@2.1.4-snapshot-20250106093301 yarn add @medusajs/dashboard@2.1.4-snapshot-20250106093301 yarn add create-medusa-app@2.1.4-snapshot-20250106093301 yarn add @medusajs/cli@2.1.4-snapshot-20250106093301 yarn add medusa-dev-cli@2.1.4-snapshot-20250106093301 yarn add @medusajs/medusa-oas-cli@2.1.4-snapshot-20250106093301 yarn add @medusajs/core-flows@2.1.4-snapshot-20250106093301 yarn add @medusajs/framework@2.1.4-snapshot-20250106093301 yarn add @medusajs/js-sdk@2.1.4-snapshot-20250106093301 yarn add @medusajs/modules-sdk@2.1.4-snapshot-20250106093301 yarn add @medusajs/orchestration@2.1.4-snapshot-20250106093301 yarn add @medusajs/types@2.1.4-snapshot-20250106093301 yarn add @medusajs/utils@2.1.4-snapshot-20250106093301 yarn add @medusajs/workflows-sdk@2.1.4-snapshot-20250106093301 yarn add @medusajs/icons@2.1.4-snapshot-20250106093301 yarn add @medusajs/ui@4.0.3-snapshot-20250106093301 yarn add @medusajs/ui-preset@2.1.4-snapshot-20250106093301 yarn add @medusajs/medusa@2.1.4-snapshot-20250106093301 yarn add @medusajs/telemetry@2.1.4-snapshot-20250106093301 yarn add @medusajs/test-utils@2.1.4-snapshot-20250106093301 yarn add @medusajs/api-key@2.1.4-snapshot-20250106093301 yarn add @medusajs/auth@2.1.4-snapshot-20250106093301 yarn add @medusajs/cache-inmemory@2.1.4-snapshot-20250106093301 yarn add @medusajs/cache-redis@2.1.4-snapshot-20250106093301 yarn add @medusajs/cart@2.1.4-snapshot-20250106093301 yarn add @medusajs/currency@2.1.4-snapshot-20250106093301 yarn add @medusajs/customer@2.1.4-snapshot-20250106093301 yarn add @medusajs/event-bus-local@2.1.4-snapshot-20250106093301 yarn add @medusajs/event-bus-redis@2.1.4-snapshot-20250106093301 yarn add @medusajs/file@2.1.4-snapshot-20250106093301 yarn add @medusajs/fulfillment@2.1.4-snapshot-20250106093301 yarn add @medusajs/index@2.1.4-snapshot-20250106093301 yarn add @medusajs/inventory@2.1.4-snapshot-20250106093301 yarn add @medusajs/link-modules@2.1.4-snapshot-20250106093301 yarn add @medusajs/locking@2.1.4-snapshot-20250106093301 yarn add @medusajs/notification@2.1.4-snapshot-20250106093301 yarn add @medusajs/order@2.1.4-snapshot-20250106093301 yarn add @medusajs/payment@2.1.4-snapshot-20250106093301 yarn add @medusajs/pricing@2.1.4-snapshot-20250106093301 yarn add @medusajs/product@2.1.4-snapshot-20250106093301 yarn add @medusajs/promotion@2.1.4-snapshot-20250106093301 yarn add @medusajs/auth-emailpass@2.1.4-snapshot-20250106093301 yarn add @medusajs/auth-github@2.1.4-snapshot-20250106093301 yarn add @medusajs/auth-google@2.1.4-snapshot-20250106093301 yarn add @medusajs/file-local@2.1.4-snapshot-20250106093301 yarn add @medusajs/file-s3@2.1.4-snapshot-20250106093301 yarn add @medusajs/fulfillment-manual@2.1.4-snapshot-20250106093301 yarn add @medusajs/locking-postgres@2.1.4-snapshot-20250106093301 yarn add @medusajs/locking-redis@2.1.4-snapshot-20250106093301 yarn add @medusajs/notification-local@2.1.4-snapshot-20250106093301 yarn add @medusajs/notification-sendgrid@2.1.4-snapshot-20250106093301 yarn add @medusajs/payment-stripe@2.1.4-snapshot-20250106093301 yarn add @medusajs/region@2.1.4-snapshot-20250106093301 yarn add @medusajs/sales-channel@2.1.4-snapshot-20250106093301 yarn add @medusajs/stock-location@2.1.4-snapshot-20250106093301 yarn add @medusajs/store@2.1.4-snapshot-20250106093301 yarn add @medusajs/tax@2.1.4-snapshot-20250106093301 yarn add @medusajs/user@2.1.4-snapshot-20250106093301 yarn add @medusajs/workflow-engine-inmemory@2.1.4-snapshot-20250106093301 yarn add @medusajs/workflow-engine-redis@2.1.4-snapshot-20250106093301
|
bb98773
to
dcf41bf
Compare
I have already done some e2e tests and things are working as expected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
few suggestions otherwise LGTM
packages/modules/providers/auth-github/integration-tests/__tests__/services.spec.ts
Outdated
Show resolved
Hide resolved
dcf41bf
to
7273cbf
Compare
This is necessary so we can support different login pages based on the actor. This is also an intended approach to implementing oauth, where the client can control the callbackUrl (but the allowed redirects are limited within the Oauth app configuration)
For example, you might have a
user/github/callback
page and acustomer/github/callback
page, and where you redirect to would depend on which actor is doing the authentication.The PR also adds the
state
parameter as defined in the Oauth protocol.Note: If you have overridden the auth module definition in your medusa config, you will need to pass
Modules.CACHE
as a dependency. This can be considered a breaking change due to that fact.We can also make it non-breaking by not storing the state and always returning the default callbackUrl as the state value. This reduces the security of the implementation, but can be an acceptable fallback.