Saya mencoba membaca properti pengguna dari grafik ms di dalam fungsi Azure. Untuk otentikasi saya menggunakan kelas DefaultAzureCredential dari Azure.Identity.
Akses dengan Kredensial Cache Token Bersama secara lokal dan Kredensial Identitas Terkelola di Azure tidak menjadi masalah! Saya ingin menggunakan Kredensial Kode Visual Studio, tetapi saya mendapatkan Authorization_RequestDenied! Hak istimewa tidak mencukupi untuk menyelesaikan pesan kesalahan operasi saat saya memanggil API grafik.
Masalahnya tampaknya adalah token akses yang saya terima dengan Kredensial VS Code. Akun penggunanya sama dengan yang saya gunakan dengan Kredensial Cache Token Bersama.
Ada ide? Terima kasih.
Kode:
DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions();
options.VisualStudioCodeTenantId = Environment.GetEnvironmentVariable("Debug_VisualStudioCodeTenantId");
var credential = new DefaultAzureCredential(options);
token = credential.GetToken(
new Azure.Core.TokenRequestContext(
new[] { "https://graph.microsoft.com/.default" }));
accessToken = token.Token;
var graphServiceClient = new GraphServiceClient(
new DelegateAuthenticationProvider((requestMessage) =>
{
requestMessage
.Headers
.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
return Task.CompletedTask;
}));
var users = await graphServiceClient.Users.Request().GetAsync(); // throw the forbidden exception
Pengecualian: Kode: Authorization_RequestDenied\r\nPesan: Hak istimewa tidak mencukupi untuk menyelesaikan operasi.\r\nKesalahan batin:\r\n\tData Tambahan:\r\n\ttanggal: 20-04-2021T08: 02:23\r\n\trequest-id: ...\r\n\tclient-request-id: ...\r\nClientRequestId: ...\r\n
https://graph.microsoft.com/User.Read.All
sebagai cakupannya alih-alih .default. Itu mungkin berakhir dengan kesalahan :\ - person juunas   schedule 20.04.2021