Я строю приложение, в котором поток идет аутентификации следующим образомКак определить, поддерживает ли браузер window.close?
- пользователь нажимает кнопку входа в систему
- открывает окно Логин.
- Пользователь перенаправляется в Facebook, Google или Twitter, в зависимости от строки запроса.
- Когда пользователь возвращается из фба/Google/твиттера, мой бэкенд генерирует маркер аутентификации, а всплывающее окно использует PostMessage для отправки маркеров аутентификации на главную страницу, проверить происхождение
- главной страница закрывающие е окно после получения токена.
Этот поток отлично работает на настольных устройствах, но не в мобильных браузерах, где window.open открывает новую вкладку, которая не может быть программно закрыта.
На мобильных устройствах я могу перенаправить пользователя на экран входа в систему и отправить их обратно с токеном auth в хэш-фрагменте (неявный поток oauth2), но я только хочу это сделать, когда это необходимо. Как определить, работает ли window.close без взлома браузера?
То, что я пытался
Я попытался с помощью/модальный диалог на основе JS HTML с фрейма в нем, но страница Войти Google не позволяет встраивать их в плавающем фрейме, я не пробовал с другими поставщиками
Используйте jquery или другое диалоговое окно js framework, а не окна или всплывающие окна. – Jkike
Дело в том, что во время процесса входа я перенаправляюсь в Google, Facebook или Twitter. Страница входа в Google не хочет быть встроенной в iframe. Я уже пробовал это, но спасибо за ваш ответ, @Jkike. – bigblind
@Jkike Иногда всплывающее окно является правильным решением. Похоже, это может быть в этом случае. –