0

Я страницу входа в систему с Facebook (я работаю с Firebase Auth), и когда я бегу мое приложение на устройстве и нажмите на кнопку входа, я получаю сообщение об ошибке:Ионные firebase facebook Auth

Эта операция не поддерживается в среде, в которой выполняется это приложение. «location.protocol» должен быть http или https, а веб-хранилище должно быть включено.

и код ошибки:

auth/operation-not-supported-in-this-environment 

Если я запускаю это приложение в моем Google Chrome, его работает прекрасно. В чем проблема?

Спасибо.

Войти Код:

var provider = new firebase.auth.FacebookAuthProvider(); 
    firebase.auth().signInWithPopup(provider).then(function(result) { 
     // This gives you a Facebook Access Token. You can use it to access the Facebook API. 
     var token = result.credential.accessToken; 
     // The signed-in user info. 
     var user = result.user; 
     console.log(user); 
     // ... 
    }).catch(function(error) { 
     // Handle Errors here. 

     var errorCode = error.code; 
     var errorMessage = error.message; 
    console.log(errorMessage); 
    console.log(errorCode); 
     var email = error.email; 
     // The firebase.auth.AuthCredential type that was used. 
     var credential = error.credential; 
     // ... 
    }); 
+0

signInWithPopup сейчас не поддерживается в Кордове. В качестве обходного пути вы можете использовать библиотеку входа в Facebook для Кордовы, а затем вызвать signInWithCredential() с токеном доступа. –

+0

Как это сделать? у вас есть exapmle? @ChanningHuang – Ron

ответ

1

Как сказал Ченнинг, в настоящее время это не поддерживается в Кордове. Вам необходимо использовать плагин Кордовы для входа в facebook. При успехе вы получите токен доступа OAuth 2 или токен идентификатора. Вы затем инициализировать аутентификации учетных данных и вызвать signInWithCredential с помощью веб-SDK:

firebase.auth().signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken)).then(function(user) { 
 
    // The facebook user is now signed in. 
 
}).catch(function(error) { 
 
    // Some error happened! 
 
});

Чтобы получить маркер доступа фб, вы можете использовать, например, следующий плагин я нашел: https://github.com/Wizcorp/phonegap-facebook-plugin

+0

Я могу получить токен acces, но обещание, похоже, не работает. Не разрешает и не устраняет никаких ошибок. Не знаю, как отлаживать это, поскольку это работает в эмуляторе. Спасибо, в любом случае. –

+0

Итак, я обнаружил «монитор» в sdk для Android, чтобы отладить эмулятор. Ошибка была довольно глупой, я не импортировал firebase в компонент. Монитор показал мне что-то вроде Reference error firebase ... Во всяком случае, ваш ответ был очень полезен и был ключом к обнаружению многих вещей. Большое спасибо. –

Смежные вопросы