0

Google 앱 엔진이 있으며 최근에 앱 엔진을 추가하기로 결정했습니다. 단계를 거치고 Google 프로젝트를 firebase에 가져 왔으며 모든 초기화 코드를 추가했으며 로그인 및 가입을위한 임시 기능을 추가했습니다. 그러나 앱은 로그인하려고하는 지점을 지나치지 않습니다. 나는 어디에서나 검색하고 가능한 모든 것을 시도해 왔습니다. 나는 작은 것을 놓치고있을 뿐이지 만 또 다른 눈을 사용할 수 있다고 확신합니다. 감사.Firebase 인증 및 표준 Google App Engine - 로그인 또는 가입 할 수 없습니다.

function loginEvent() 
{ 
    const email = document.getElementById('txtEmail'); 
    const pass = document.getElementById('txtPassword'); 

    email.value = "HELLO"; 
    email.value = firebase.app().name; 
    pass.value = "NO"; 

    firebase.auth().signInWithEmailAndPassword(email, pass) 
    .catch(function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    if (errorCode === 'auth/wrong-password') { 
    alert('Wrong password.'); 
    } else { 
    alert(errorMessage); 
    } 
    console.log(error); 
}); 

    pass.value = "YES" 
} 

function signupEvent() 
{ 
    const email = document.getElementById('txtEmail'); 
    const pass = document.getElementById('txtPassword'); 

    firebase.auth().createUserWithEmailAndPassword(email, pass).catch(function(error) { 
      // Handle Errors here. 
      var errorCode = error.code; 
      var errorMessage = error.message; 
      // ... 
     }); 
} 

난 그냥 것을 도달했다 확인하기 위해 이메일과 비밀번호의 값을 변경했다 :

<!DOCTYPE html> 
<html> 
<head> 
    <title>Hello Endpoints!</title> 
    <script type="text/javascript" src="/js/base.js"></script> 

    <!-- SCRIPT FOR FIREBASE --> 
    <script src="https://www.gstatic.com/firebasejs/4.3.1/firebase.js"></script> 
    <script src="https://www.gstatic.com/firebasejs/4.3.1/firebase-app.js"></script> 
    <script src="https://www.gstatic.com/firebasejs/4.3.1/firebase-auth.js"></script> 
    <script src="https://www.gstatic.com/firebasejs/4.3.1/firebase-database.js"></script> 

    <script type="text/javascript" src="/js/firebaseApp.js"></script> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.css"> 
    <link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap-responsive.css"> 
    <link type="text/css" rel="stylesheet" href="/css/style.css"> 
</head> 
<body> 
<div class="container"> 
    <input id="txtEmail" type="email" placeholder="Email"> 
    <input id="txtPassword" type="password" placeholder="Password"> 

    <button id="btnLogin" class="btn btn-action" onclick="loginEvent()"> 
    Log in 
    </button> 
    <button id="btnSignUp" class="btn btn-secondary" onclick="signupEvent()"> 
    Sign Up 
    </button> 
    <button id="btnLogout" class="btn btn-action hide"> 
    Log out 
    </button> 

    <script src="https://www.gstatic.com/firebasejs/4.3.1/firebase.js"></script> 
    <script> 
     // Initialize Firebase 
     var config = { 
     apiKey: "<API_KEY>", 
     authDomain: "<PROJECT_ID>.firebaseapp.com", 
     databaseURL: "https://<DATABASE_NAME>.firebaseio.com", 
     projectId: "<PROJECT_ID>", 
     storageBucket: "<BUCKET>.appspot.com", 
     messagingSenderId: "<SENDER_ID>", 
     }; 
     firebase.initializeApp(config); 
    </script> 


</div> 
<div class="container"> 

    <form action="javascript:void(0);"> 
     <h2>Add Asteroid</h2> 
     <div><span class="label">Name: </span><input id="asteroidName" /></div> 
     <div><span class="label">Diameter: </span><input id="asteroidDiam" /></div> 
     <div>Dimensions:</div> 
     <div><span class="dimlabel">Length: </span><input id="asteroidLength" /></div> 
     <div><span class="dimlabel">Width: </span><input id="asteroidWidth" /></div> 
     <div><span class="dimlabel">Height: </span><input id="asteroidHeight" /></div> 
     <div><span class="label">Mean Distance From Sun: </span><input id="asteroidDist" /></div> 
     <div><input id="addAsteroid" type="submit" class="btn btn-small" value="Submit"></div> 
    </form> 

    <form action="javascript:void(0);"> 
     <h2>Refresh Asteroids</h2> 
     <div><input id="listAsteroids" type="submit" class="btn btn-small" value="Refresh"></div> 
    </form> 

    <table id="AsteroidTable"> 
     <tr> 
      <th>Asteroid</th> 
      <th>Diameter</th> 
      <th>Dimensions</th> 
      <th>Mean Distance From Sun</th> 
     </tr> 
    </table> 

    <script type="text/javascript"> 
     function init() { 
      google.devrel.samples.hello.init('//' + window.location.host + '/_ah/api'); 
     } 
    </script> 
    <script src="https://apis.google.com/js/client.js?onload=init"></script> 
</div> 
</body> 
</html> 

그리고 여기 내 FirebaseApp.js입니다 : 여기

내 HTML 파일입니다 포인트. firebase.app(). name의 값을 출력하면 [DEFAULT]가 반환됩니다. Firebase에서 이메일/비밀번호 옵션을 선택했는지 확인했습니다. 제공 할 수있는 도움에 감사드립니다.

답변

0

필요한 모든 모듈이 포함 된 https://www.gstatic.com/firebasejs/4.3.1/firebase.js 만 포함하면됩니다. 다른 모든 것을 포함 할 필요가 없습니다 : firebase-app.js, firebase-auth.js 등

또한 signInWithEmailAndPasswordcreateUserWithEmailAndPassword은 문자열 인수를 허용합니다. 입력 요소를 대신 전달하고 있습니다. 이 때문에 콘솔에 오류가 발생해야합니다. 따라서 email 대신 email.value을 전달하십시오.

+0

성스러운 암소가 너무 고맙습니다. 이메일을하지 않았다는 것을 믿을 수 없습니다. 가치 등. 문제였습니다. Eclipse는 console.log()를 사용해도 오류를 출력하지 않으므로 주위를 허우적 거리고 있었다. 너무 고마워. lol –

+0

멋지다, 다행이다. 나는 도움이되었다. – bojeil