0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-10 22:22:45 -05:00

fix(experience): use correct callback path for native environments (#5800)

This commit is contained in:
Gao Sun 2024-04-27 23:27:33 +08:00 committed by GitHub
parent 204e087519
commit b80934ac5c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 21 additions and 12 deletions

View file

@ -0,0 +1,9 @@
---
"@logto/experience": patch
---
fix native social sign-in callback
In a native environment, the social sign-in callback that posts to the native container (e.g. WKWebView in iOS) was wrong.
This was introduced by a refactor in #5536: It updated the callback path from `/sign-in/social/:connectorId` to `/callback/social/:connectorId`. However, the function to post the message to the native container was not updated accordingly.

View file

@ -23,7 +23,7 @@ const useSocial = () => {
: redirectTo;
getLogtoNativeSdk()?.getPostMessage()({
callbackUri: `${window.location.origin}/sign-in/social/${connectorId}`,
callbackUri: `${window.location.origin}/callback/social/${connectorId}`,
redirectTo: redirectUri,
});
}, []);

View file

@ -25,7 +25,7 @@ const useSingleSignOn = () => {
).toString();
getLogtoNativeSdk()?.getPostMessage()({
callbackUri: `${window.location.origin}/sign-in/social/${connectorId}`,
callbackUri: `${window.location.origin}/callback/social/${connectorId}`,
redirectTo: redirectUri,
});
}, []);

View file

@ -42,10 +42,10 @@ describe('SocialCallbackPage with code', () => {
renderWithPageContext(
<SettingsProvider>
<Routes>
<Route path="/sign-in/social/:connectorId" element={<SocialCallback />} />
<Route path="/callback/social/:connectorId" element={<SocialCallback />} />
</Routes>
</SettingsProvider>,
{ initialEntries: ['/sign-in/social/invalid'] }
{ initialEntries: ['/callback/social/invalid'] }
);
await waitFor(() => {
@ -69,10 +69,10 @@ describe('SocialCallbackPage with code', () => {
renderWithPageContext(
<SettingsProvider>
<Routes>
<Route path="/sign-in/social/:connectorId" element={<SocialCallback />} />
<Route path="/callback/social/:connectorId" element={<SocialCallback />} />
</Routes>
</SettingsProvider>,
{ initialEntries: [`/sign-in/social/${connectorId}`] }
{ initialEntries: [`/callback/social/${connectorId}`] }
);
await waitFor(() => {
@ -91,10 +91,10 @@ describe('SocialCallbackPage with code', () => {
renderWithPageContext(
<SettingsProvider>
<Routes>
<Route path="/sign-in/social/:connectorId" element={<SocialCallback />} />
<Route path="/callback/social/:connectorId" element={<SocialCallback />} />
</Routes>
</SettingsProvider>,
{ initialEntries: [`/sign-in/social/${connectorId}`] }
{ initialEntries: [`/callback/social/${connectorId}`] }
);
await waitFor(() => {
@ -122,10 +122,10 @@ describe('SocialCallbackPage with code', () => {
renderWithPageContext(
<SettingsProvider settings={sieSettings}>
<Routes>
<Route path="/sign-in/social/:connectorId" element={<SocialCallback />} />
<Route path="/callback/social/:connectorId" element={<SocialCallback />} />
</Routes>
</SettingsProvider>,
{ initialEntries: [`/sign-in/social/${connectorId}`] }
{ initialEntries: [`/callback/social/${connectorId}`] }
);
await waitFor(() => {
@ -144,10 +144,10 @@ describe('SocialCallbackPage with code', () => {
renderWithPageContext(
<SettingsProvider settings={sieSettings}>
<Routes>
<Route path="/sign-in/social/:connectorId" element={<SocialCallback />} />
<Route path="/callback/social/:connectorId" element={<SocialCallback />} />
</Routes>
</SettingsProvider>,
{ initialEntries: [`/sign-in/social/${connectorId}`] }
{ initialEntries: [`/callback/social/${connectorId}`] }
);
await waitFor(() => {