У меня есть приложение на firebase, где я хочу аутентифицировать пользователей с помощью Github. Я делаю эту ширину функциями Firebase SDK, но она не работает, когда я пытаюсь сделать это на своем локальном хосте. Конечно, это работает как приложение в прямом эфире. Приложение настроено с помощью Jekyll, и поэтому я использую чистый javascript. Когда я запускаю localhost, я использую образ докера с Jekyll serve. При развертывании я использую образ докера для сборки с Jekyll и развертывания папки _site.
Я подозреваю, что это как-то связано с URL-адресом обратного вызова? При включении функции аутентификации github на панели управления firebase вы получаете предопределенный URL-адрес обратного вызова, такой как
https://website.firebaseapp.com/__/auth/handler
, для размещения в настройках вашего клиента на Github. Я попытался в настройках клиента изменить URL-адрес обратного вызова, чтобы он соответствовал моему localhost.
Мой сценарий аутентификации
var provider = new firebase.auth.GithubAuthProvider();
provider.addScope('repo');
firebase.auth().signInWithPopup(provider).then(function(result) {
var token = result.credential.accessToken;
var user = result.user;
console.log(user.email);
var userImage = document.querySelector("#user-image");
var userPic = document.createElement("img");
userPic.src=user.photoURL;
userImage.append(userPic);
var userEmail = document.querySelector("#user-email");
userEmail.innerHTML = user.email;
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
// ...
});
Я попытался установить URL-адрес обратного вызова моего клиента на
http://192.168.99.100/__/auth/handler
но при попытке аутентификации на локальном хосте всплывающее окно входа в систему просто открывается и закрывается очень быстро, и я не получаю абсолютно никакого ответа.
Пожалуйста, помогите