У меня есть базовое приложение-функция, которое принимает GET и возвращает статический текст. В конце концов я хотел бы написать тело POST в очередь, но для простоты функция просто возвращает текст. Если я отключу авторизацию, я могу загрузить URL и получить ответ в своем браузере или почтальоне. Если я активирую aad auth в приложении-функции и создаю простую регистрацию приложения, затем перехожу на сайт в моем браузере, мне предлагается авторизация и я могу войти в систему в интерактивном режиме; пока никаких забот
Я хотел бы получить доступ к функции с использованием секретного ключа для использования приложения без интерактивного входа в систему, поэтому в рамках приложения я перехожу к Keys и генерирую его. Это где мои проблемы начинаются. Если я использую почтальон и настраиваю oauth, используя свой идентификатор приложения и ключ, я могу получить токен, я также проверил это, выполнив POST для https://login.microsoftonline.com//oauth2/token напрямую и отметив ответ токена носителя. Однако, когда я пытаюсь получить доступ к своему функциональному приложению с помощью токена на предъявителя (либо вручную добавляя заголовок авторизации, либо позволяя почтальону добавить его из формы oauth 2.0), мне всегда отказывают с 401, заявляющим: «У вас нет разрешения на просмотр этого каталога. или страницу. когда я делаю GET для моего приложения функции. Может ли кто-нибудь указать мне правильное направление? Заранее спасибо.
Пример ответа от логина url
{
"token_type": "Bearer",
"expires_in": "3599",
"ext_expires_in": "0",
"expires_on": "1525312644",
"not_before": "1525308744",
"resource": "https://<siteaddress>.azurewebsites.net/",
"access_token": "eyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..etc..."
}
Ответ от приложения get против функции с токеном
GET /api/t2 HTTP/1.1
> Host: <sitename>.azurewebsites.net
> Authorization: Bearer eyxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....etc....
> Accept: */*
< HTTP/1.1 401 Unauthorized
< Content-Length: 58
< Content-Type: text/html
< WWW-Authenticate: Bearer realm="<sitename>.azurewebsites.net" authorization_uri="https://login.windows.net/<tenantid>/oauth2/authorize" resource_id="<app reg id>"
< X-Powered-By: ASP.NET
< Date: Thu, 03 May 2018 01:12:43 GMT