Skip to content

Commit fb17896

Browse files
authored
Add unknown user handling to config (#542)
1 parent e18f868 commit fb17896

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

packages/connect-react/src/components/login/LoginInitScreen.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export type CboApiFallbackOperationError = {
1818
initFallback: boolean;
1919
identifierFallback: string;
2020
message: string | null;
21+
code?: string;
2122
};
2223

2324
export enum LoginInitState {
@@ -179,6 +180,7 @@ const LoginInitScreen: FC<Props> = ({ showFallback = false }) => {
179180
initFallback: res.val.fallbackOperationError.initFallback,
180181
identifierFallback: res.val.fallbackOperationError.identifier ?? '',
181182
message: res.val.fallbackOperationError.error?.message ?? null,
183+
code: res.val.fallbackOperationError.error?.code,
182184
};
183185

184186
return handleSituation(LoginSituationCode.CboApiFallbackOperationError, undefined, data);
@@ -219,6 +221,7 @@ const LoginInitScreen: FC<Props> = ({ showFallback = false }) => {
219221
initFallback: resStart.val.fallbackOperationError.initFallback,
220222
identifierFallback: resStart.val.fallbackOperationError.identifier ?? '',
221223
message: resStart.val.fallbackOperationError.error?.message ?? null,
224+
code: resStart.val.fallbackOperationError.error?.code,
222225
};
223226

224227
return handleSituation(LoginSituationCode.CboApiFallbackOperationError, undefined, data);
@@ -305,6 +308,10 @@ const LoginInitScreen: FC<Props> = ({ showFallback = false }) => {
305308
case LoginSituationCode.CboApiFallbackOperationError: {
306309
const typed = data as CboApiFallbackOperationError;
307310

311+
if (config.onUnknownUser && typed.code && typed.code === 'user_not_found') {
312+
return config.onUnknownUser(typed.identifierFallback);
313+
}
314+
308315
if (typed.initFallback) {
309316
return automaticFallback(typed.identifierFallback, typed.message);
310317
}

packages/types/src/connect/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export type CorbadoConnectLoginConfig = {
22
onFallback(identifier: string, errorMessage: string): void;
33
onFallbackSilent?(identifier: string): void;
44
onFallbackCustom?(identifier: string, code: string, payload: string): void;
5+
onUnknownUser?(identifier: string): void;
56
onError?(error: string): void;
67
onLoaded?(message: string, isFallBackTriggered: boolean): void;
78
onComplete(signedPasskeyData: string, clientState: string, webauthnId: string): Promise<void>;

0 commit comments

Comments
 (0)