#redirect #firebase #oauth #polymer #progressive-web-apps
#перенаправление #firebase #oauth #polymer #progressive-веб-приложения
Вопрос:
Тестирование на рабочем столе работает нормально, появляются всплывающие окна различных провайдеров. Однако на мобильном устройстве с каждым провайдером открывается новое окно браузера, но адрес является нестандартным URL хостинга приложения firebase, и процесс входа в систему останавливается.
Первоначально документация Firebase рекомендует использовать в URL-адресах перенаправления нестандартный URL хостинга. Я изменил их для всех поставщиков на пользовательский: https://valleydevfest.com/__/auth/handler
вместо https://valleydevfest-620d6.firebaseapp.com/__/auth/handler
(как для Facebook, так и для Twitter, а также для моего приложения Github). Это совсем не помогло, и мобильный Chrome по-прежнему перенаправляет на какой-то https://valleydevfest-620d6.firebaseapp.com/...
адрес, который либо останавливает загрузку, либо загружает очень устаревшую версию веб-сайта (вместо входа в OAuth).
Наиболее релевантный код:
var signIn = function(providerId) {
var provider = getProviderForProviderId(providerId);
var that = this;
return this.auth.signInWithPopup(provider).catch(function(error) {
...
https://github.com/gdgfresno/valleydevfest/blob/develop/scripts/helper/firebase.js#L43
Как я могу это преодолеть?
(Полный исходный код приложения:https://github.com/gdgfresno/valleydevfest/tree/develop )
Комментарии:
1. Просто попробовал valleydevfest.com с Chrome для Android, и это казалось прекрасным. Вы выяснили, в чем была проблема?
2. У меня все еще не работает, и я все еще могу воспроизвести его, но это сработало для большинства участников. Я использую Chrome на Android
3. Имеет ли значение, что мой браузер по умолчанию не Chrome, а Dolhin? Кстати, это Samsung Note 3 с KitKat.
4. Я думаю, не имеет значения, что у меня включена двухфакторная аутентификация, это выходит боком при первом перенаправлении. Рабочий стол работает нормально.
5. На данный момент я внедрил анонимный вход, поэтому этот вопрос некоторое время не будет актуален.