3

иногда я получаю ошибку AADSTS50058 при вызове Azure Active Directory Graph API из Angular.AADSTS50058 при вызове AAD вызывает циклы обновления

моя установка:

  • Адал-угловой 1.0.13
  • угловой v1.5.8
  • Google Chrome, без флага на 'Блок 3 участника печенье'
  • попытался с KMSI флагом на
  • нет расширений, блокирующих куки на Chrome (последние)
  • обновление: пакет маршрутов «угловой маршрут»

это код:

var my_endpoints = { 
    'https ://graph.windows.net/': 'https ://graph.windows.net/' 
}; 

adalProvider.init({ 
    instance: 'https ://login.microsoftonline.com/', 
    tenant: "common", 
    clientId: '[my-client-ID-here]', 
    extraQueryParameter: 'nux=1', 
    cacheLocation: 'sessionStorage', 
    endpoints: my_endpoints 
}, $httpProvider); 

n.b .: HTTPS ссылки без пробелов, я установить это из-за StackOverflow.

это ошибка, которую я не могу решить: ошибка AADSTS50058: был отправлен молчаливый запрос на вход, но ни один пользователь не выполнил вход. Файлы cookie, используемые для представления сеанса пользователя, не были отправлены в запросе Azure AD , Это может произойти, если пользователь использует Internet Explorer или Edge, а веб-приложение, отправляющее тихий запрос на вход, находится в другой зоне безопасности IE, чем конечная точка AD Azure (login.microsoftonline.com).

пытался отключить и повторно войти, но не успех

неудобной вещь я не могу понять, что он часто работает, то иногда это вызывает эту ошибку, держа страницу в цикле перезагрузки. Если я удалю AAD-вызовы, это работает так, как ожидалось.

это потому, что мне нужно управлять двумя токенами, один с API и один с AAD GraphAPI?

если да, то как я могу управлять этим?

любая помощь высоко ценится

+0

Я не знаю, можете ли вы это исправить. Я испытал это на портале Azure, когда он перенаправляется на Application Insights Analytics. Причина в том, что корпорация IT настроила login.microsoftonline.com как надежный сайт в Internet Explorer, а сайт AppInsights не был. Это, по-видимому, мешает IE разрешать молчание. Мое исправление на моем ПК состояло в том, чтобы добавить другой сайт в список доверенных сайтов. – RasmusW

ответ

0

я думаю, что я нашел этот вопрос; в google chrome, в стресс-тесте, сразу после входа в систему, я установил всплывающее окно браузера «Сохранить пароль» на «Никогда», когда браузер спросил меня; в канарейках и других браузерах, где я установил «Сохранить» или просто проигнорировал, проблема так и не появилась.

кажется, проблема была устранена после удаления списка «никогда не сохраненных» паролей.

флажок «Использовать Smart Lock для паролей для запоминания паролей для приложений и сайтов» или «Предложение по сохранению ваших веб-паролей» не имеет значения, проверено проверено состояние и не проверено.

спасибо!

2

По вашему описанию, это, кажется, что вы столкнулись с бесконечным выпуск цикла в случайном порядке. Это может привести к нескольким причинам.

Прежде всего вы можете проверить, используете ли вы ui-router, если да, проверьте, задано ли определение сцены для корневой страницы «/». Добавьте это в государственной маршрутизацию провайдера:

$stateProvider.state("/", { 
     url: "/", 
     templateUrl: "<could be home page or default page>", 
     requireADLogin: true, 
    }); 

Кроме того, там может быть некоторые другие причины возникают этот вопрос, как вложенного создание IFrame, Hash сброс. Вы можете обратиться к https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/FAQs#q2-my-app-gets-into-an-infinite-loop-sometimes-leading-to-digest-iterations-error за дополнительной информацией.

Кроме того, вы можете добавить код ниже в app.js, чтобы включить ведение журнала. Внедрите метод журнала в зависимости от того, как вы хотите перенаправить журналы.

Logging = { 
    level: 3, 
    log: function (message) { 
     console.log(message); 
    } 
}; 

Кроме того, вы можете увидеть всю информацию, включая описание ошибки в памяти seesion Усиливая Chrome Developer Tools:

enter image description here