Как запросить токен доступа с областью в azure объявлении (клиентский API) - PullRequest
1 голос
/ 21 апреля 2020

У меня есть базовый API. net, который развертывается в службе приложений azure, он зарегистрирован как рекламное приложение azure. Я также добавляю область действия API в expose API, которая является

https://domain.name/Resource.GetStatus

. Я также регистрирую другое приложение и даю разрешение API делегата. Теперь я хочу запросить токен доступа с областью действия в почтальоне, но когда я добавлю значение в область действия, произойдет такая ошибка

{
    "error": "invalid_scope",
    "error_description": "AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope https://aa-cdapublic-dev.azurewebsites.net/Resource.GetStatus is not valid.\r\nTrace ID: 8256ed8d-65e8-4ad4-865b-0a6fbf473500\r\nCorrelation ID: 65cef3a9-8aa1-4103-8c91-ac2007e27bc0\r\nTimestamp: 2020-04-21 03:47:52Z",
    "error_codes": [
        70011
    ],
    "timestamp": "2020-04-21 03:47:52Z",
    "trace_id": "8256ed8d-65e8-4ad4-865b-0a6fbf473500",
    "correlation_id": "65cef3a9-8aa1-4103-8c91-ac2007e27bc0"
}

мой запрос почтальона, как показано ниже:

method :post
URl:https://login.microsoftonline.com/devglobal.onmicrosoft.com/oauth2/v2.0/token
grant_type:client_credentials
clientid:******
clientsecret:******
scope:https://domain.name/Resource.GetStatus

Я еще не пробовал это на странице SPA с неявным потоком, прежде всего я хочу проверить, правильны ли мои настройки или нет

1 Ответ

1 голос
/ 21 апреля 2020

Если вы используете client_credentials в качестве «grant_type», вам нужно установить https://domain.name/.default вместо https://domain.name/Resource.GetStatus в качестве области (в противном случае будет отображаться сообщение об ошибке, как вы упоминали в вопросе). Кстати, если вы используете client_credentials, вы не сможете получить разрешение делегата. Таким образом, вы должны использовать «неявный поток». Я проверяю его на своей стороне с «неявным потоком», он может получить Resource.GetStatus от успеха токена доступа.

Обновление:

enter image description here

enter image description here

расшифровать токен доступа: enter image description here

...