He estado usando msal para iniciar la sesión de los usuarios en la aplicación mediante la llamada de acquireTokenSilent y funciona perfectamente bien. Puedo obtener el token de respuesta que contiene cosas como accessToken e idToken entre otras cosas. pero cuando trato de usar la API del gráfico para obtener la foto de la cuenta usando cualquiera de estos tokens en el encabezado del portador, aparece un error 401. Lo estoy llamando correctamente porque al usar el token que se muestra aquí en el explorador de gráficos funciona bien.
Esencialmente, mi pregunta es, ¿cómo obtengo este token de acceso para llamar a la API del gráfico?
Estoy tratando de hacer esto en una aplicación web usando JavaScript.
axios.get("https://graph.microsoft.com/v1.0/users/" + this.username + "/photos/48x48/$value", { headers: { Authorization: "Bearer " + "insertTokenHere" }, responseType: "blob" }) .then(response => {Un par de cosas para que funcione:
Según el protocolo de autorización, obtenga tokens de portador para acceder a los puntos finales. Consulte la documentación aquí si está utilizando el flujo de código de autorización.
Se requiere el parámetro de ámbito, que no es más que una lista de ámbitos separados por espacios a los que desea que el usuario dé su consentimiento. Asegúrese de comprender los permisos necesarios para cada uno de los puntos finales de la API. Los permisos necesarios para cada punto de conexión de API se documentan en ms docs. Consulte un ejemplo aquí .
Además, asegúrese de que el administrador haya dado su consentimiento cuando sea necesario.
Gracias.