В моем веб-приложении Gatsby V2 я использую аутентификацию firebase для входа в систему с помощью Google. Он работает правильно на моем MacBook Pro, но при развертывании на Firebase Hosting он не работает. Пожалуйста, смотрите журналы консоли на прикрепленном скриншоте.
Я уже проверил, что правильные URL-адреса разрешены для localhost и для развернутого сайта для входа в Google через админ-панель Firebase. Я предполагаю, что это как-то связано с gatsby-plugin-manifest или gatsby-plugin-offline. В соответствии с https://firebase.google.com/docs/hosting/reserved-urls я добавил URL-адрес белого списка для gatsby-plugin-offline следующим образом, сохраняя существующий URL-адрес белого списка (согласно https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-offline): -
{
resolve: `gatsby-plugin-offline`,
options: {
navigateFallbackWhitelist: [/^[^?]*([^.?]{5}|\.html)(\?.*)?$/, /^(?!\/__).*/]
}
}
Я снова развернул сайт, но он все еще не работал.
Шаги для воспроизведения
Развертывание сайта GatsbyJS на хостинге Firebase, который использует Firebase Google Auth. Были использованы следующие плагины: -
plugins: [
`gatsby-plugin-react-helmet`,
{
resolve: `gatsby-source-shopify`,
options: {
shopName: `...`,
accessToken: `...`,
verbose: true,
},
},
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/pages`,
name: 'pages',
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/asset/img`,
name: `images`,
}
},
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/asset/font`,
name: `fonts`,
}
},
{
resolve: `gatsby-plugin-manifest`,
options: {
name: '...',
short_name: '...,
start_url: '/',
background_color: '#f2efec',
theme_color: '#f2efec',
display: 'minimal-ui',
icon: '...'
}
},
{
resolve: `gatsby-plugin-offline`,
options: {
navigateFallbackWhitelist: [/^[^?]*([^.?]{5}|\.html)(\?.*)?$/, /^(?!\/__).*/]
}
},
`gatsby-plugin-netlify-cms`,
`gatsby-plugin-netlify`,
]
Ожидаемый результат - При нажатии кнопки входа в Google должно открыться всплывающее окно с запросом учетных данных Google.
Фактический результат - Всплывающее окно входа в Google остается пустым, а затем закрывается (с ошибкой консоли, показанной выше)