Я разрабатываю базовый веб-API. net и пытаюсь аутентифицировать его с помощью AZURE аутентификации AD. Я придерживаюсь следующих конфигураций: :
app.UseAuthentication();
3. В app.settings. json Я добавил следующие свойства:
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "<MY client ID>",
"TenantId": "<My Tenant ID>",
"Issuer": "https://login.microsoftonline.com/<My Tenant ID>/v2.0",
"Domain": "<My Domain>",
"ConfigView": "MVC",
"CallbackPath": "/signin-oidc",
"ClientSecret": "<My Client Secret>"
}
Я добавил атрибут Authorize поверх моего контроллера Я сгенерировал свой токен на предъявителя, используя следующий код:
static void Main(string[] args)
{
Program obj = new Program();
IRestResponse ARMtokenResponse = obj.GetARMAuthToken();
dynamic response = JsonConvert.DeserializeObject(ARMtokenResponse.Content);
Console.WriteLine(response["access_token"].ToString());
Console.ReadKey();
}
private IRestResponse GetARMAuthToken()
{
var client = new RestClient("https://login.microsoftonline.com/<MY TENANT ID>/oauth2/token"); //tenantid
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", "<My Client ID>");
request.AddParameter("client_secret", "<MY CLIENT SECRET>");
request.AddParameter("resource", "https://management.azure.com/");
IRestResponse response = client.Execute(request);
return response;
}
Далее я использую этот токен, сгенерированный в приложении почтальон / консоль, для вызова API, но получаю сообщение об ошибке в заголовке ответа:
Ошибка носителя = "invalid_token", error_description = "Аудитория недействительна" Пожалуйста, помогите мне в этом. Я застрял здесь