有没有办法在访问SPA时立即进行登录重定向



我已经创建了一个SPA。请参阅文档。

因此,访问SPA并按下[SignIn]按钮将进入登录屏幕。如果身份验证成功,您将再次重定向到SPA。这是一个常见的过程。但是,我希望从我访问SPA的那一刻起就可以看到登录页面。

换句话说,我们希望从一开始就显示登录页面,而不需要按下[SignIN]按钮,也不需要触发onclick事件。在示例中,单击按钮后将执行以下过程。

function signIn() {
myMSALObj.loginRedirect(loginRequest);
}

是否可以在URL打开时执行此功能并向用户显示登录屏幕?我发现有一种叫做";"加载";并尝试使用它,但没有成功。

谢谢。

您似乎希望整个应用程序受到Azure AD身份验证的保护。如果是这种情况,那么您可以将整个应用程序封装在<MsalAuthenticationTemplate>中。

此组件将确保用户在访问应用程序之前必须登录。

以下是从link:中获取的代码示例

import React from "react";
import { MsalAuthenticationTemplate } from "@azure/msal-react";
import { InteractionType } from "@azure/msal-browser";
function ErrorComponent({error}) {
return <p>An Error Occurred: {error}</p>;
}
function LoadingComponent() {
return <p>Authentication in progress...</p>;
}
export function Example() {
const authRequest = {
scopes: ["openid", "profile"]
};
return (
// authenticationRequest, errorComponent and loadingComponent props are optional
<MsalAuthenticationTemplate 
interactionType={InteractionType.Popup} 
authenticationRequest={authRequest} 
errorComponent={ErrorComponent} 
loadingComponent={LoadingComponent}
>
<p>At least one account is signed in!</p>
</MsalAuthenticationTemplate>
)
};

最新更新