Надеемся, что мастера этого сайта могут помочь. Есть много похожих вопросов, но имена и специфика методов Firebase часто меняются, поэтому я решил спросить. В моем случае я размещаю свой сайт по URL-адресу хостинга Firebase и пытаюсь реализовать метод входа, используя ссылку электронной почты. Я копирую код в виде документации: https://firebase.google.com/docs/auth/web/email-link-auth
Когда я пытаюсь проверить это, на моей консоли появляется сообщение об ошибке:
POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key= // строка символов и цифр 400
Мой код:
import firebase from "firebase"
function SignInWithEmailLink() {
var actionCodeSettings = {
// URL you want to redirect back to. The domain (www.example.com) for this
// URL must be whitelisted in the Firebase Console.
url: 'https://myurl.web.app/',
// This must be true.
handleCodeInApp: true,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
dynamicLinkDomain: 'https://myurl.web.app/'
};
function sendEmail() {
var email = document.getElementById("userEmail").value
firebase.auth().sendSignInLinkToEmail(email, actionCodeSettings)
.then(function () {
// The link was successfully sent. Inform the user.
// Save the email locally so you don't need to ask the user for it again
// if they open the link on the same device.
window.localStorage.setItem('emailForSignIn', email);
window.alert("Sending email link!")
})
.catch(function (error) {
// Some error occurred, you can inspect the code: error.code
window.alert("An error occurred...")
});
return (
<div>
<form>
<input type="text" id="userEmail" />
<button type="button" onClick={() => sendEmail()}>Send Email Link</button>
</form>
</div>
)
И да, я запускаю фрагмент инициализации Firebase в моем индексе . html.
Ошибка 400, которую я считаю, означает, что страница не может быть найдена. Я предполагаю, что это означает, что страница подтверждения Google не может быть найдена, хотя я думал, что это может означать, что мой собственный URL не был найден, поэтому я попытался изменить URL перенаправления. Я уже сделал несколько работ, просто получая данные электронной почты для сохранения. Я также только что проверил своего администратора Google, чтобы убедиться, что это не проблема.
Кроме того, поскольку на самом деле срабатывает catch(error)
, я знаю, что firebase.auth()
читается, даже если не правильно.
Возможно, вы все увидите, насколько это легко на самом деле? Любой совет будет принят во внимание. Я включу больше кода, если хотите, но я думаю, что это все, что имеет значение.