Использование блокировки Auth0 во всплывающем режиме

Я использую Auth0 для реализации социального входа в Google в моем приложении Ionic.

Я установил параметр redirect равным false в соответствии с документацией, и это открывает новую вкладку.

Теперь, когда я устанавливаю redirect равным true (по умолчанию), тогда, согласно документации, он должен отображать окно входа в систему во всплывающем окне, но я получаю следующую ошибку:

Отказался отображать 'https://accounts.google.com/AccountChooser?continue=https://accounts.google….com%26from_login%3D1%26as%3D-13354ff19852788a&btmpl=authsub&scc=1&oauth=1' во фрейме, потому что для параметра X-Frame-Options установлено значение DENY.

Я знаю, потому что я пытаюсь открыть это внутри localhost, поэтому я получаю эту ошибку. Но как я могу протестировать эту функцию в своей локальной среде?


person Bhushan Goel    schedule 06.12.2016    source источник


Ответы (1)


Согласно документации по настройкам блокировки Auth0, если вы установите Параметр redirect на false (переопределяющий значение по умолчанию true) вызовет использование всплывающего режима.

перенаправление – по умолчанию установлено значение true. Если установлено значение true, будет использоваться режим перенаправления. Если установлено значение false, выбирается всплывающий режим.

Использование всплывающего режима может привести к открытию новой вкладки или окна. быть открытым при использовании режима перенаправления по умолчанию использует текущее окно для перенаправления на поставщика удостоверений.

Ошибка, которую вы получаете при использовании redirect=true, по-видимому, указывает на то, что вы используете iframe в своем приложении и пытаетесь выполнить аутентификацию внутри iframe. Это не поддерживается поставщиком удостоверений Google, как следует из использования X-Frame-Options: DENY в ответе Google. (этот заголовок запрашивает, чтобы браузер не выполнял навигацию, если он находится внутри iframe)

В заключение, ошибка не вызвана непосредственно Lock.

person João Angelo    schedule 06.12.2016
comment
Я не хочу использовать браузер в приложении, чтобы показывать пользователю окно входа в систему. Вместо этого я хочу отображать всплывающее окно. Как я могу достичь этой функциональности, чем с помощью Auth0 - person Bhushan Goel; 06.12.2016
comment
Триггер режима всплывающего окна достигается с помощью redirect=false. Как указано в документации, это может привести к открытию новой вкладки или окна; ваша проблема в том, что он открывает новую вкладку, а не окно? - person João Angelo; 06.12.2016
comment
на самом деле он открывается в новой вкладке, я хочу, чтобы он открывался во всплывающем окне. - person Bhushan Goel; 06.12.2016
comment
Можно настроить некоторые характеристики окна при использовании всплывающего режима с помощью popupOptions настройка. Удовлетворяет ли это вашим требованиям к настройке? - person João Angelo; 06.12.2016
comment
@Bhushan Goel, просто продолжаю это ... ты решил свою проблему? - person João Angelo; 09.12.2016
comment
нет, но в настоящее время я могу успешно выйти из системы, поэтому сейчас я концентрируюсь на других функциях. Можете ли вы предложить мне какой-нибудь другой плагин, который я могу использовать для входа в социальную сеть с помощью ionic? - person Bhushan Goel; 09.12.2016
comment
Не совсем, с точки зрения UX и простоты рекомендуется Lock. Вы можете использовать более низкоуровневую библиотеку, например auth0.js; это даст вам больше гибкости в отношении того, как именно вы хотите, чтобы что-то происходило, но потребует больше индивидуальной работы. - person João Angelo; 09.12.2016
comment
Да, я также пробовал auth0.js, но там было так много нестандартной работы. - person Bhushan Goel; 09.12.2016