Проблемы с x-frame-options при запуске примера кода авторизации Azure AD B2C - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь запустить пример кода Microsoft для реализации аутентификации Azure AD B2C. Кодовая база может быть найдена здесь: https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp/blob/master/index.html

Я изменил код так, как показано в следующем разделе. Основное изменение заключается в том, что вместо использования метода loginPopup () объекта Msal.UserAgentApplication я использую loginRedirect () (для лучшего взаимодействия с пользователем) https://gist.github.com/ttchuah/6718e268a235a3206968b36d748fd369

Вот что происходит, когда я запускаю код.

  1. Я вижу страницу index.html, как и ожидалось.
  2. Я нажимаю кнопку входа в систему и перенаправляюсь на страницу входа в систему Microsoft, где я вижу возможность сделать социальный вход в систему через Google.
  3. Я захожу через Google и перенаправляюсь обратно на мою страницу index.html.

В этот момент срабатывает функция authCallback ().

В Chrome я получаю следующую ошибку консоли. Есть идеи почему? Отказался отображать 'https://accounts.google.com/o/oauth2/auth?client_id=903295266285-78au30g3bsmt8q1phvfqqu65c58kp35i.apps.googleusercontent.com&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fte%2fdv0dop000devaad000.onmicrosoft.com%2foauth2%2fauthresp&response_type=code&scope=email+profile&state=StateProperties%3deyJTSUQiOiJ4LW1zLWNwaW0tcmM6OGM1YTQwNDQtNGYyYi00ZTJmLTgyMmUtYjU2ZjRkMWU4ZWU2IiwiVElEIjoiMDBmZjUzOTctNjYxZC00NDY4LWFlODktNzlkOThlMmEwMzI0In0' в кадре, поскольку для параметра' X-Frame-Options 'установлено значение' sameorigin '.

Та же самая ошибка не происходит в FireFox или Safari. Для этих браузеров я могу без проблем получить токен авторизации.

1 Ответ

0 голосов
/ 11 ноября 2018

Заголовок X-Frame-Options является мерой безопасности против clickjacking , дело в том, что не все браузеры имеют реализацию, которая учитывает этот заголовок при обработке возвращенного ответа (см. Опции X-Frame в MDN).

Короче говоря, Chrome заблокирует любую обработку ответа, которая не имеет соответствующего значения allow-from в заголовке X-Frame-Options от рендеринга в фрейме , iframe или объект элемент.

Надеюсь, это поможет!

...