Skip to content

Commit 3f9b2dd

Browse files
authored
Merge pull request Expensify#88760 from Expensify/claude-fixSAMLCancelSignInState
Fix SAML cancel leaving sign-in page without email field
2 parents cfff715 + 5ebb243 commit 3f9b2dd

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

src/pages/signin/SAMLSignInPage/index.native.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ function SAMLSignInPage() {
2525
const {translate} = useLocalize();
2626
const hasOpenedAuthSession = useRef(false);
2727

28+
const handleExitSAMLFlow = useCallback(() => {
29+
clearSignInData();
30+
Navigation.isNavigationReady().then(() => {
31+
Navigation.goBack();
32+
});
33+
}, []);
34+
2835
/**
2936
* Handles in-app navigation once we get a response back from Expensify
3037
*/
@@ -80,16 +87,16 @@ function SAMLSignInPage() {
8087
openAuthSessionAsync(SAMLUrl, CONST.SAML_REDIRECT_URL)
8188
.then((response: WebBrowserAuthSessionResult) => {
8289
if (response.type !== 'success') {
83-
Navigation.goBack();
90+
handleExitSAMLFlow();
8491
return;
8592
}
8693
handleNavigationStateChange(response.url);
8794
})
8895
.catch((error) => {
8996
Log.hmmm('SAML sign in failed', {error});
90-
Navigation.goBack();
97+
handleExitSAMLFlow();
9198
});
92-
}, [SAMLUrl, handleNavigationStateChange]);
99+
}, [SAMLUrl, handleNavigationStateChange, handleExitSAMLFlow]);
93100

94101
useEffect(() => {
95102
// If we don't have a valid login to pass here, direct the user back to a clean sign in state to try again
@@ -130,12 +137,7 @@ function SAMLSignInPage() {
130137
{showNavigation && (
131138
<HeaderWithBackButton
132139
title=""
133-
onBackButtonPress={() => {
134-
clearSignInData();
135-
Navigation.isNavigationReady().then(() => {
136-
Navigation.goBack();
137-
});
138-
}}
140+
onBackButtonPress={handleExitSAMLFlow}
139141
/>
140142
)}
141143
<FullPageOfflineBlockingView>

0 commit comments

Comments
 (0)