He creado un SPA. Consulte los documentos .
Entonces, acceder al SPA y presionar el botón [Iniciar sesión] lo llevará a la pantalla de inicio de sesión. Y si la autenticación es exitosa, será redirigido a SPA nuevamente. Este es un proceso común. Sin embargo, me gustaría ver la página de inicio de sesión desde el momento en que accedo al SPA.
En otras palabras, queremos mostrar la página de inicio de sesión desde el principio sin presionar el botón [Iniciar sesión] y sin activar el evento onclick. En el ejemplo, el siguiente proceso se ejecuta después de hacer clic en el botón.
function signIn() { myMSALObj.loginRedirect(loginRequest); }¿Es posible ejecutar esta función en el momento en que se abre la URL y mostrar la pantalla de inicio de sesión al usuario? Descubrí que hay algo llamado "onload" y traté de usarlo, pero no funcionó.
Gracias.
Parece que desea que toda su aplicación esté protegida por la autenticación de Azure AD. Si ese es el caso, lo que puede hacer es envolver toda su aplicación dentro <MsalAuthenticationTemplate> .
Este componente garantizará que un usuario debe iniciar sesión antes de acceder a la aplicación.
Aquí hay una muestra de código tomada de este 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> ) };