supertokens / supertokens-node

Node SDK for SuperTokens core
https://supertokens.com
Other
287 stars 76 forks source link

Enforce Necessary Parameters for Third-party Sign In Integrations #720

Open RobSchilderr opened 10 months ago

RobSchilderr commented 10 months ago

Issue:

In the process of upgrading from V14 to V15 of SuperTokens Node and integrating Apple Sign In, it was found that the absence of the redirectURIOnProviderDashboard parameter in the ThirdPartyPasswordless.getThirdPartyAuthorisationURLWithQueryParamsAndSetState method didn’t trigger a TypeScript error.

This oversight led to a malfunction in the Apple Sign In integration, making it challenging to pinpoint the root cause of the issue due to the lack of immediate feedback from TypeScript.

The redirectURIOnProviderDashboard parameter proved to be crucial for the successful operation of the Apple Sign In integration. When this parameter was included, the integration functioned as expected.

Currently, TypeScript settings do not enforce or flag the missing redirectURIOnProviderDashboard parameter, which could potentially lead to debugging challenges for developers, especially when integrating third-party sign-ins.

Resolution Suggestion:

It is recommended to enforce the inclusion of the redirectURIOnProviderDashboard parameter within the getThirdPartyAuthorisationURLWithQueryParamsAndSetState method, especially for Apple Sign In integration, to prevent similar issues in the future. Enforcing this parameter through TypeScript can provide immediate feedback to developers, aiding in ensuring the correct configuration for a successful integration.

This enforcement should be applied at least for Apple Sign In integration. It's unclear if similar enforcement is needed for other third-party providers.