簡體   English   中英

React MSAL Library msal-react:在不同的用戶策略 B2C 應用程序中保留登錄 session 的問題

[英]React MSAL Library msal-react : Issue in persisting the login session in different user-policies B2C application

我在單頁 B2C 應用程序中使用 msal-react 進行登錄。我使用 loginRedirect() function 進行登錄。

const { instance } = useMsal();
let {idToken} = await instance.loginRedirect();

這使我可以成功登錄。

登錄后,當我檢查用戶是否使用以下 function 進行身份驗證時,它返回 true。

import {useIsAuthenticated,} from "@azure/msal-react";
const isAuthenticated = useIsAuthenticated();

這意味着用戶已通過身份驗證。

但是,當我嘗試從應用程序訪問另一個用戶策略 url 時。 它要求再次輸入用戶憑據。 有什么方法可以在單頁應用程序中使用相同的用戶 session 來在訪問其他用戶策略 url 時不再詢問憑據?

我只是將用戶直接從應用程序重定向到策略 url。 請參閱下面的代碼。

function UserPolicyRedirect() {
  useEffect(() => {
    const timeout = setTimeout(() => {
      // 👇️ redirects to an external URL
      window.location.replace(
        "user-policy url"
      );
    }, 3000);

    return () => clearTimeout(timeout);
  }, []);

  return <>Redirecting...</>;
}

在用於重定向用戶的 app.js 中,我按如下方式設置了路由。

<Route path="/profile" element={<UserPolicyRedirect/>}></Route>

關於如何避免在這種情況下再次詢問憑據的任何建議?

我認為您需要使用 loginRedirect(或 loginPopup)來導航到其他策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM