I am Using @azure/msal-react library If i login with "A" account and after logout when I try to login with "B" account then its getting login as "A" account. only i.e previous account. while login i am using "acquireTokenSilent" with "handleRedirectPromise" for loginRedirect. while logout i am using "logoutRedirect" i am clearing all "cookies" and "browser cache" too.

While Login using @azure/msal-react library for loginRedirect i am using following code.

useEffect(() => {
        if (isAuthenticated && inProgress === InteractionStatus.None) {
            instance.acquireTokenSilent({
                account: accounts[0],
                scopes: ["User.Read"]
            }).then(response => {
                let loginValues = {
                    isAdminLogin: false,
                    authTypeId: 1,
                    AD_token: response.accessToken,
                    email: response.account.username
                }
                localStorage.setItem("accountId", response.account.homeAccountId);
                props.userLogin(loginValues);
            })
        }
    }, [inProgress, isAuthenticated, accounts, instance]);

 const formSubmit = (values) => {
        let accountId = '';
        instance.handleRedirectPromise()
            .then((loginResponse) => {
                if (!!loginResponse.accessToken) {
                    accountId = loginResponse.account.homeAccountId;
                    localStorage.setItem("accountId", accountId);
                    values.AD_token = loginResponse.accessToken;
                    props.userLogin(values);
                } else {
                    props.alertMsg(UrlConstants.errorMSG, 'danger');
                }
            })
            .catch(err => {
                console.error(err);
            });
        instance.loginRedirect(loginRequest);
    }

  const handleLogout = () => {
    if (user.authTypeId === 2){
      let newHomeaccountId = localStorage.getItem('accountId')
      const logoutRequest = {
        account: newHomeaccountId,
        postLogoutRedirectUri: UrlConstants.azureActiveDirectoryRedirectionURL,
        // mainWindowRedirectUri: UrlConstants.azureActiveDirectoryRedirectionURL,
      }  
      
      localStorage.removeItem('accountId');
      localStorage.clear();
      deleteAllCookies();
      instance["browserStorage"].clear();
      localStorage.removeItem('h_l_ots_data');
      sessionStorage.clear();

      instance.logoutRedirect(logoutRequest).then(function (loginResponse) {
          props.logout();
        }).catch(function (error) {
          //login failure
        });
    }

  }

0

There are 0 best solutions below