Nuestra aplicación utiliza el flujo de código de autorización con PKCE que se implementa mediante el paquete MSAL-React https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-react y que se ejecuta en el Directorio activo Azure B2C.
Actualmente, autenticamos a los usuarios al pedirles que ingresen su nombre de usuario y contraseña, que se intercambian por un access_token de acceso que luego se envía con cada solicitud. De esta forma, el back-end sabe qué enviar al front-end.
Tenemos un nuevo requisito que se reduce a que obtengamos un access_token de otro método. Esto es para facilitar algunas funciones nuevas que originalmente no conocíamos.
Actualmente configuramos el token usando este código como parte del flujo
msalInstance .acquireTokenSilent(tokenRequest) .then(async (tokenResponse) => { setToken(tokenResponse.accessToken) })Sin embargo, ahora debemos configurar este token manualmente (no se preocupe por cómo obtenemos este token, solo suponga que tenemos uno)
¿Hay alguna forma de que MSAL establezca manualmente un token que le pasemos?
Así que algo como esto sería genial (sé que esto no existe)
comst token = {} // our token object which would be correct msalInstance .manuallyGetToken(token) .then(async (tokenResponse) => { setToken(tokenResponse.accessToken) })La naturaleza de "caja negra" de MSAL está demostrando ser difícil porque nos oculta los aspectos internos de OAuth, lo cual es excelente hasta que necesita desviarse ligeramente de la forma en que se supone que funciona.