Microsoft Graph Api devuelve una respuesta prohibida cuando intenta usar / me / memberOf en ASP.NET Core MVC
Aquí está lo que tengo. (ApiVersion es v1.0)
private async Task<ClaimsIdentity> GetUsersRoles(string accessToken, ClaimsIdentity identity, string userId)
{
string resource = GraphResourceId + ApiVersion + "/me/memberOf";
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, new Uri(resource));
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.SendAsync(request);
return identity;
}
Esencialmente, lo que intento hacer es obtener todos los grupos de los que es miembro el usuario autenticado, luego estoy creando reclamos de grupo y rol a partir de eso. He dejado algo de eso arriba, pero el código está allí y funciona con los siguientes permisos delegados User.Read.All y Directory.Read.All. No puedo hacer que funcione con permisos específicos de la aplicación (devuelve respuesta prohibida). La razón por la que esto es un problema es porque, para acceder a los permisos delegados, se requiere un Administrador global. Por lo tanto, estoy tratando de hacer permisos de Solo aplicación para permitirme dar mi consentimiento a toda la organización. Me doy cuenta de que esto está bastante cerca de algunos problemas conocidoshttps://graph.microsoft.io/en-us/docs/overview/release_notes , pero también enumeran ámbitos de permisos alternativos, y he probado todos aquellos sin ningún éxito. (Nota: la autenticación funciona bien y otras solicitudes funcionan como deberían)
¿Podría alguien darme una idea de esto?