# #javascript #firebase #oauth #firebase-authentication #google-signin
Вопрос:
Я следую инструкциям здесь, чтобы попытаться добавить вход в Google в проект, который использует. огневая база авт.
- Я запускаю код в iframe (так как это приложение Airtable). Может ли это быть проблемой?
- Я включил вход в Google в консоли firebase.
data-fetcher-dev.firebaseapp.com
входит в авторизованные домены Firebase.
Мой код:
firebase.initializeApp({
apiKey: 'AIzaSyCp8i_9lHCyLOREMIPSUM21342xXmb0F0Y',
authDomain: 'data-fetcher-dev.firebaseapp.com',
projectId: 'data-fetcher-dev',
});
const googleProvider = new firebase.auth.GoogleAuthProvider();
googleProvider.addScope('profile');
googleProvider.addScope('email');
...
const signInWithGoogle = async () => {
try {
const result = await firebase.auth().signInWithPopup(googleProvider);
console.log('result: ', result);
} catch (error) {
console.log('error: ', error);
}
};
signInWithGoogle
вызывается при нажатии кнопки. Откроется новая вкладка, и я смогу выбрать учетную запись Google/ войти в нее:
После выбора учетной записи я перенаправляюсь на URL, подобный https://data-fetcher-dev.firebaseapp.com/__/auth/handler?state=LONG_TOKEN_VALUEamp;scope=email profile openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profileamp;authuser=3amp;prompt=consent
, и страница просто загружается навсегда:
Я использую хостинг firebase, поэтому на нем есть пустой проект https://data-fetcher-dev.firebaseapp.com
. Нужно ли мне реализовывать внутренний маршрут по адресу /__/auth/handler
? Я думал, что Firebase должна была справиться с этим за меня, так как они не упоминают об этом в документах.
Заранее спасибо.
Комментарии:
1. Можете ли вы открыть консоль и проверить наличие ошибок?
2. Да, ошибок в консоли нет