Ошибка «Конфигурация усиленной безопасности Microsoft Inte rnet Explorer ..» при попытке выполнить Azure DevOps API с помощью MSAL - PullRequest
0 голосов
/ 22 марта 2020

Я пишу angular .io приложение, которое будет вызывать остальные API в Azure DevOps. Я использую библиотеку MSAL, и она почти работает. Я успешно аутентифицируюсь и вызываю Azure DevOps API и вижу, что перехватчик MSAL HTTP добавил токен Bearer в запрос (через Chrome средства разработчика).

https://dev.azure.com/my org/my project/my team/_apis/wit/wiql/my query id?api-version=5.1

Azure отвечает на этот запрос 302, чтобы перенаправить меня на https://spsprodcus1.vssps.visualstudio.com/_signin. Я вижу, что токен на предъявителя также отправляется с этим запросом. Этот адрес дает мне 203 с сообщением:

Microsoft Inte rnet Конфигурация усиленной безопасности Explorer в настоящее время включена в вашей среде. Этот повышенный уровень безопасности препятствует правильному отображению или работе нашего веб-интеграции. Чтобы продолжить работу, отключите эту конфигурацию или обратитесь к администратору.

Похоже, что мое приложение не имеет разрешения на действия в DevOps. В приложении, которое я зарегистрировал для этого и указал MSAL, в «Разрешения API» я дал доступ к «Azure DevOps (1)».

Есть какие-нибудь мысли о том, что я могу сделать по этому поводу?

- Правка

Ниже приведено декодирование моего токена (с некоторыми изменениями). Я ничего с этим не делаю, MSAL, похоже, берет его из заголовка местоположения в ответ на мой запрос на авторизацию и помещает его в заголовок авторизации моего повторного вызова (с префиксом «Bearer»).


{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "encoded Stuff",
  "kid": "encoded Stuff"
}
{
  "aud": "api://44df9afb-cf92-4965-9378-05317e85ab96",
  "iss": "https://sts.windows.net/GUID/",
  "iat": 1585087477,
  "nbf": 1585087477,
  "exp": 1585091377,
  "acr": "1",
  "aio": "encoded Stuff",
  "amr": [
    "wia"
  ],
  "appid": "id of the app I registered",
  "appidacr": "0",
  "family_name": "Rispoli",
  "given_name": "Thomas",
  "in_corp": "true",
  "ipaddr": "ip address",
  "name": "Rispoli, Thomas",
  "oid": "encoded Stuff",
  "onprem_sid": "encoded Stuff",
  "scp": "user_impersonation",
  "sub": "encoded Stuff",
  "tid": "encoded Stuff",
  "unique_name": "thomas.rispoli@cgi.com",
  "upn": "thomas.rispoli@cgi.com",
  "uti": "encoded Stuff",
  "ver": "1.0"
} Then some binary data that I assume is a nounce
...