@passkeyme/react-auth 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -6474,7 +6474,8 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6474
6474
|
authenticatedUser: null,
|
|
6475
6475
|
});
|
|
6476
6476
|
// Track if we've already processed the callback to prevent loops
|
|
6477
|
-
|
|
6477
|
+
// Using useRef instead of useState to avoid triggering re-renders when marked as processed
|
|
6478
|
+
const callbackProcessedRef = React.useRef(false);
|
|
6478
6479
|
// Get effective passkey configuration (merge config with props)
|
|
6479
6480
|
const effectivePasskeyConfig = {
|
|
6480
6481
|
promptRegistration: (_d = (_b = (_a = passkey === null || passkey === void 0 ? void 0 : passkey.promptRegistration) !== null && _a !== void 0 ? _a : config.autoPromptPasskeyRegistration) !== null && _b !== void 0 ? _b : (_c = config.passkey) === null || _c === void 0 ? void 0 : _c.autoPromptRegistration) !== null && _d !== void 0 ? _d : true, // Default to true
|
|
@@ -6708,7 +6709,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6708
6709
|
};
|
|
6709
6710
|
React.useEffect(() => {
|
|
6710
6711
|
// Don't process callback again if we've already done it
|
|
6711
|
-
if (
|
|
6712
|
+
if (callbackProcessedRef.current)
|
|
6712
6713
|
return;
|
|
6713
6714
|
const processCallback = async () => {
|
|
6714
6715
|
try {
|
|
@@ -6728,7 +6729,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6728
6729
|
if (error) {
|
|
6729
6730
|
const errorMessage = errorDescription || error || "Authentication failed";
|
|
6730
6731
|
updateState({ loading: false, error: errorMessage, success: false });
|
|
6731
|
-
|
|
6732
|
+
callbackProcessedRef.current = true;
|
|
6732
6733
|
if (onError) {
|
|
6733
6734
|
onError(errorMessage);
|
|
6734
6735
|
}
|
|
@@ -6766,6 +6767,8 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6766
6767
|
showPasskeyPrompt: shouldPrompt,
|
|
6767
6768
|
});
|
|
6768
6769
|
debugLog(config, "CallbackHandler", "Token flow - updated state, showPasskeyPrompt:", shouldPrompt);
|
|
6770
|
+
// Mark callback as processed to prevent re-execution
|
|
6771
|
+
callbackProcessedRef.current = true;
|
|
6769
6772
|
if (!shouldPrompt) {
|
|
6770
6773
|
// Proceed with normal redirect
|
|
6771
6774
|
proceedWithRedirect();
|
|
@@ -6778,7 +6781,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6778
6781
|
error: errorMessage,
|
|
6779
6782
|
success: false,
|
|
6780
6783
|
});
|
|
6781
|
-
|
|
6784
|
+
callbackProcessedRef.current = true;
|
|
6782
6785
|
if (onError) {
|
|
6783
6786
|
onError(errorMessage);
|
|
6784
6787
|
}
|
|
@@ -6815,6 +6818,8 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6815
6818
|
showPasskeyPrompt: shouldPrompt,
|
|
6816
6819
|
});
|
|
6817
6820
|
debugLog(config, "CallbackHandler", "OAuth code flow - updated state, showPasskeyPrompt:", shouldPrompt);
|
|
6821
|
+
// Mark callback as processed to prevent re-execution
|
|
6822
|
+
callbackProcessedRef.current = true;
|
|
6818
6823
|
if (!shouldPrompt) {
|
|
6819
6824
|
// Proceed with normal redirect
|
|
6820
6825
|
proceedWithRedirect();
|
|
@@ -6827,7 +6832,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6827
6832
|
error: errorMessage,
|
|
6828
6833
|
success: false,
|
|
6829
6834
|
});
|
|
6830
|
-
|
|
6835
|
+
callbackProcessedRef.current = true;
|
|
6831
6836
|
if (onError) {
|
|
6832
6837
|
onError(errorMessage);
|
|
6833
6838
|
}
|
|
@@ -6845,7 +6850,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6845
6850
|
if (!token && !code) {
|
|
6846
6851
|
const errorMessage = "No authentication token or code received";
|
|
6847
6852
|
updateState({ loading: false, error: errorMessage, success: false });
|
|
6848
|
-
|
|
6853
|
+
callbackProcessedRef.current = true;
|
|
6849
6854
|
if (onError) {
|
|
6850
6855
|
onError(errorMessage);
|
|
6851
6856
|
}
|
|
@@ -6858,12 +6863,12 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6858
6863
|
}
|
|
6859
6864
|
}
|
|
6860
6865
|
// Mark as processed if we got here
|
|
6861
|
-
|
|
6866
|
+
callbackProcessedRef.current = true;
|
|
6862
6867
|
}
|
|
6863
6868
|
catch (err) {
|
|
6864
6869
|
const errorMessage = err instanceof Error ? err.message : "Authentication failed";
|
|
6865
6870
|
updateState({ loading: false, error: errorMessage, success: false });
|
|
6866
|
-
|
|
6871
|
+
callbackProcessedRef.current = true;
|
|
6867
6872
|
if (onError) {
|
|
6868
6873
|
onError(errorMessage);
|
|
6869
6874
|
}
|
|
@@ -6878,7 +6883,6 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
|
|
|
6878
6883
|
};
|
|
6879
6884
|
processCallback();
|
|
6880
6885
|
}, [
|
|
6881
|
-
callbackProcessed,
|
|
6882
6886
|
handleCallback,
|
|
6883
6887
|
handleTokenCallback,
|
|
6884
6888
|
onError,
|