Estoy creando una aplicación web simple que necesita llamar a una función de Azure.
He registrado 2 aplicaciones en mi Azure AD: una para mi aplicación de reacción de una sola página y otra para mi función de Azure.
La aplicación para mi función Azure tiene una API expuesta y un alcance configurado llamado CallApi .
La aplicación en sí tiene configurada la autenticación (autenticación fácil) y la identificación del cliente coincide con el registro de la aplicación API dentro de AAD: 
La aplicación para mi SPA tiene permiso para solicitar este alcance y esto se otorga de forma predeterminada para todos los usuarios.
Puedo iniciar sesión con éxito en mi SPA y obtener un token de acceso. Estoy haciendo esto con el uso de las @azure/msal-browser y @azure/msal-react npm, específicamente:
<MsalAuthenticationTemplate interactionType={InteractionType.Redirect} authenticationRequest={{scopes: ["User.Read", "api://<redacted>/CallApi"]}} > Sin embargo, el token de acceso que se devuelve solo tiene estos ámbitos: ['openid', 'profile', 'User.Read', 'email'] y no api://<redacted>/CallApi . Entonces, cuando intento cambiar mi token de acceso por un token enviando una solicitud POST a https://<app_name>.azurewebsites.net/.auth/login/aad , devuelve un mensaje no autorizado.
¿Cómo puedo asegurarme de que mi aplicación permita el alcance de CallApi ?
Entonces, cuando intento cambiar mi token de acceso por un token enviando una solicitud POST a
https://<app_name>.azurewebsites.net/.auth/login/aad, devuelve un mensaje no autorizado.
Asegúrese de que la URL sea correcta, como debe ser, en el formato <app-url>/.auth/login/aad/callback y tenga en cuenta que los parámetros se encuentran en el cuerpo de la solicitud HTTP POST.
Sin embargo, el token de acceso que se devuelve solo tiene estos ámbitos:
['openid', 'profile', 'User.Read', 'email']
Si una aplicación realiza el inicio de sesión mediante OpenID Connect, debe solicitar el alcance de openid. Es decir, el alcance de openid se muestra en la página de consentimiento de la cuenta de trabajo como el permiso "Iniciar sesión".
El alcance del correo electrónico puede funcionar con el alcance de openid. Como le da a la aplicación acceso a la dirección de correo electrónico principal del usuario en forma de reclamo por correo electrónico. Donde, el reclamo de correo electrónico se incluye en un token solo si una dirección de correo electrónico está asociada con la cuenta de usuario, que no siempre es el caso.
El ámbito del perfil también puede funcionar con el ámbito openid. Esto le da a la aplicación acceso a una cantidad sustancial de información sobre el usuario. La información a la que tiene acceso incluye, el nombre de usuario, apellido, nombre de usuario preferido y ID de objeto.
En el ecosistema de Microsoft, existen algunos permisos de alto privilegio que se pueden configurar como restringidos por el administrador. Esto incluye:
Consulte este artículo para ver un ejemplo sobre la solicitud POST relacionada con el alcance de la API de llamadas.