Проблемы с параметрами x-frame при запуске примера кода аутентификации Azure AD B2C

Я пытаюсь запустить пример кода 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' in a frame потому что он установил 'X-Frame-Options' т o 'того же происхождения'.

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


person Cog    schedule 11.11.2018    source источник
comment
Прошло какое-то время, но если кому интересно... В конце концов я просто пошел с Auth0. Намного проще.   -  person Cog    schedule 04.03.2020


Ответы (2)


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

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

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

person Itay Podhajcer    schedule 11.11.2018
comment
Спасибо. Любая идея, почему у Firefox и Safari не было бы такой же блокировки ответов, как у Chrome? - person Cog; 12.11.2018

С B2C не помогает, но у Okta, Auth0 и OneLogin iframe-options установлены из коробки, как и same-site для куки...

person Igor K    schedule 03.03.2020