Отправка токенов на предъявителя в веб-API через Postman

Обновить

Мне удалось получить токен на предъявителя, используя инструкции из эта тема

Вот инструкции в Postman:

Пример токена на предъявителя в почтальоне

Однако, если я отправляю тот же токен в своем вызове в конечную точку веб-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"]
                    },
                });
        }

Пример вызова Почтальона с помощью токена на предъявителя


person Shailen Sukul    schedule 07.03.2016    source источник
comment
Я помню, что он предложит страницу входа в систему, вы должны войти в систему. А также вам нужно установить пользователя, которого вы входите в систему, как НАЗНАЧЕННЫЙ в приложении, где вы получаете идентификатор клиента и секретный ключ.   -  person Lily_user4045    schedule 14.03.2016
comment
Проблема с авторизацией. Убедитесь, что ваше приложение было создано на [tenantname]   -  person Lily_user4045    schedule 14.03.2016
comment
Вы должны были показать нам сделанный вами звонок, который был отклонен. Вы показали нам вызов, который вы делаете для получения токена, а не вызов, в котором вы его используете. Я хотел бы проверить, правильно ли вы поместили токен в заголовок. Без кавычек или чего-то еще ... и с ключевым словом Bearer   -  person Shumii    schedule 08.11.2017


Ответы (1)


Во-первых, вы можете использовать POSTMAN для тестирования веб-API, защищенного токеном Bearer. Вот скриншот моего почтальона:

POSTMAN, отправляющий токен-носитель в веб-API

В основном: в заголовке запроса укажите ключ как «Авторизация», а значение как «Носитель [ваш токен». ЕСЛИ вы столкнетесь с ошибками, посмотрите заголовки ответа, и вы увидите более подробную информацию об ошибке.

Обратите внимание, что у большинства токенов есть срок действия, вы можете попробовать проверить, действителен ли ваш токен. например https://jwt.io/

person Legend Tech    schedule 30.11.2016