На основании моего теста оба значения customKeyIdentifier
и value
имеют двойное кодирование base64, когда мы создаем KeyCredential для приложения, использующего New-AzureADApplicationKeyCredential
.
После этого я использую следующий код для получения доступа токен с этим сертификатом:
var app = ConfidentialClientApplicationBuilder.Create("{clientId}")
.WithAuthority(AzureCloudInstance.AzurePublic, "{tenantId}")
.WithCertificate(cer)
.Build();
var result = await app.AcquireTokenForClient(new[] { "https://graph.microsoft.com/.default" }).ExecuteAsync();
Console.WriteLine(result.AccessToken);
Я считаю, что мы можем успешно получить токен доступа с правильными ролями.
Поэтому я думаю, что New-AzureADApplicationKeyCredential
base64 кодирует customKeyIdentifier
и value
для в другой раз. Но он также обрабатывает их правильно, когда мы используем сертификат X509 для получения токена доступа.