Fix double authentication (#1772)

This commit is contained in:
Dawid Tarasiuk 2022-02-01 11:23:48 +01:00 committed by GitHub
parent 3d636f4789
commit 5892bca40b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View file

@ -1,5 +1,6 @@
import { IMessageContext } from "@saleor/components/messages";
import { APP_DEFAULT_URI, APP_MOUNT_URI, DEMO_MODE } from "@saleor/config";
import useLocalStorage from "@saleor/hooks/useLocalStorage";
import useNavigator from "@saleor/hooks/useNavigator";
import { commonMessages } from "@saleor/intl";
import {
@ -49,6 +50,10 @@ export function useAuthProvider({
} = useAuth();
const navigate = useNavigator();
const { authenticated, authenticating, user } = useAuthState();
const [requestedExternalPluginId] = useLocalStorage(
"requestedExternalPluginId",
null
);
const [error, setError] = useState<UserContextError>();
const permitCredentialsAPI = useRef(true);
@ -65,7 +70,12 @@ export function useAuthProvider({
}, [authenticated]);
useEffect(() => {
if (!authenticated && !authenticating && permitCredentialsAPI.current) {
if (
!authenticated &&
!authenticating &&
!requestedExternalPluginId &&
permitCredentialsAPI.current
) {
permitCredentialsAPI.current = false;
loginWithCredentialsManagementAPI(handleLogin);
}

View file

@ -76,6 +76,7 @@ const LoginView: React.FC<LoginViewProps> = ({ params }) => {
code,
state
});
setRequestedExternalPluginId(null);
if (result && !result?.errors?.length) {
navigate(fallbackUri ?? "/");
setFallbackUri(null);