Я использую Firebase oauth в своем проекте Nuxt SPA и использую пакет Cordova для andriod APK.
Я использую функции signInWithRedirect
и getRedirectResult
для завершения аутентификации Google / Facebook. Я записываю эту функцию в событие onDeviceReady
в файле плагина Nuxt, затем inject
эту функцию, чтобы я мог использовать ее в Nuxt page component
, например:
import Vue from 'vue'
import firebase from 'firebase'
export default (ctx, inject) => {
const { app } = ctx
const cordovaApp = {
initialize() {
document.addEventListener(
'deviceready',
this.onDeviceReady.bind(this),
false
)
},
onDeviceReady() {
const firebaseConfig = {
apiKey: 'AIzaSyDTT9mOxowjih5EiIStCH8nbh_7PXjRUII',
authDomain: 'matchapp-efb87.firebaseapp.com',
databaseURL: 'https://matchapp-efb87.firebaseio.com',
projectId: 'matchapp-efb87',
storageBucket: 'matchapp-efb87.appspot.com',
messagingSenderId: '158183035375',
appId: '1:158183035375:web:01ebdedf055d585eb4a61a',
measurementId: 'G-P0SC3VC4PC'
}
if(!firebase.apps.length) {
firebase.initializeApp(firebaseConfig)
}
inject('authGoogle', () => {
const google = new firebase.auth.GoogleAuthProvider()
firebase.auth().signInWithRedirect(google).then(() => {
return firebase.auth().getRedirectResult()
}).then(result => {
alert(result)
}).catch (err => {
alert(result)
})
})
inject('authGetResult', () => {
firebase.auth().getRedirectResult().then(result => {
alert(result)
}).catch(err => {
console.log(err)
})
})
}
}
cordovaApp.initialize()
}
Событие аутентификации прошло успешно в браузере, но в приложении у него есть проблемы.
Когда я нажимаю кнопку входа в систему, Мое приложение переходит непосредственно на страницу входа в Google / Facebook, а затем я завершаю этап входа в систему и перенаправляем страницу в мое приложение, но я не получаю никаких результатов от Firebase , А также я не вижу аутентифицированных пользователей на консоли Firebase.
Может кто-нибудь помочь мне, пожалуйста. Я устал от этой ситуации.