Azure Graph API, Angular, Obtener grupos de usuarios

Quiero consultar la API de Azure AD Graph para recuperar elreclamo de grupos para el usuario conectado desde una aplicación Azure B2C registrada. La aplicación desde la que llamo es un Angular 5 SPA.

Después de experimentar con Azure Active Directory y adal-angular4, tuve éxito al recuperar un usuario personalizadoreclamo de roles. Para hacer esto, registré una aplicación de Azure AD, establecí los ámbitos de permisos necesarios, agregué roles personalizados al manifiesto de la aplicación, agregué el usuario a la aplicación y configuré el rol personalizado para el usuario. Luego, utilicé el ID de la aplicación y el inquilino de mi nueva aplicación registrada para la configuración de adal-angular4. Cuando consulto el punto final, obtengo el token que contiene el reclamo de roles. Funciona bien. Cuando cambio el rol que se muestra en el token.

Este reclamo de roles sería suficiente para mí, pero requiere dos inicios de sesión, uno para mi aplicación B2C y otro para mi otra aplicación registrada. No creo que pueda usar el mismo token para ambos.

Para tener solo un inicio de sesión, quiero consultar Azure B2C directamente. He oído que no ofrece la posibilidad de consultar los roles del usuario como Azure Active Directory, y se me ha indicado que useGrupos de Usuarios. También he visto documentación y me han dicho que necesito usar la API de Azure Graph porque Microsoft Graph aún no ha implementado la capacidad de consultar esta información.

Traté de seguir un camino similar para B2C que utilicé con AAD. Creé un grupo y agregué un usuario al grupo. He intentado acceder a la información de mi aplicación B2C con el punto final de Azure Graph APIhttps://graph.windows.net/myorganization/users?api-version=1.6 usando MSAL.js pero recibo el error"code": "Authentication_MissingOrMalformed". Verifiqué que MSAL recupera un token y lo agrega a la solicitud. Cuando cambio la URL a una que no es válida, aparece el mismo error. He buscado y encontrado preguntas con el mismo problemaaquí, aquí, pero ninguno es respondido

¿Cómo soluciono este error?

¿Es necesario tener una cuenta de administrador local?

¿Hay algunos ámbitos especiales que necesito establecer en mi aplicación B2C para otorgar autorización para mis consultas? Si los hay, ¿qué son específicamente? He intentado intercambiar diferentes valores para los ámbitos en la configuración de MSAL y no he encontrado nada que funcione.

¿Esta aplicación necesita ser multiinquilino?

He encontrado recursos entokens de acceso yalcances pero estoy usando Angular 5 / typecript y no tengo la Biblioteca de cliente de Azure AD Graph que está disponible en .NET. No he podido hacer uso de ninguno de los recursos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta