Обновить
Мне удалось получить токен на предъявителя, используя инструкции из эта тема
Вот инструкции в Postman:
- URL: https://login.windows.net/[tenantnameprovided.onmicrosoft.com/oauth2/token
- Тип: POST
- Заголовки: нет
- Тело: данные формы
- grant_type: client_credentials
- client_id: [идентификатор-клиента]
- client_secret: [секрет-клиент]
Однако, если я отправляю тот же токен в своем вызове в конечную точку веб-API, я все равно получаю сообщение «Авторизация была отклонена для этого запроса».
Почему он до сих пор не авторизует?
Конец обновления
Я создал проект веб-API ASP.Net, который защищен с помощью организационного экземпляра Azure AD. Я правильно настроил идентификатор клиента, идентификатор клиента и секрет.
Экземпляр Azure AD - это тот же экземпляр, который поддерживает наш экземпляр Office 365 / SharePoint, и идея состоит в том, чтобы создать надстройки SharePoint, которые могут вызывать службы, используя контекст зарегистрированного пользователя.
Я застрял в тестировании API. Я могу без проблем вызывать неавторизованные конечные точки. Однако, когда я добавляю атрибут [Authorize], я всегда получаю ответ: «В авторизации для этого запроса отказано».
Насколько я понимаю, мне нужно сгенерировать токен-носитель и добавить его в свой запрос Postman в заголовке (см. Изображение). После долгого поиска в Google я все еще не смог выполнить эту работу.
Мой вопрос: как создать токен-носитель для экземпляра веб-API, защищенного Azure AD.
Мой код конфигурации выглядит следующим образом:
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters {
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}
[tenantname]
- person Lily_user4045   schedule 14.03.2016