Получение информации о пользователе с помощью pyrebase - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть этот код Javascript, который возвращает токен для аутентификации Google:

<script>
    function googleLogin(){
        var provider = new firebase.auth.GoogleAuthProvider();
        firebase.auth().useDeviceLanguage();
        firebase.auth().signInWithPopup(provider).then(function(result) {
            // This gives you a Google Access Token. You can use it to access the Google API.
            var token = result.credential.accessToken;
            // The signed-in user info.
            var user = result.user;
            // ...
    alert(token)
            var csrftoken = '{{ csrf_token }}';
            $.post("/api/login", {'csrfmiddlewaretoken': csrftoken, 'token': token});
            }).catch(function(error) {
            // Handle Errors here.
            var errorCode = error.code;
            var errorMessage = error.message;
            // The email of the user's account used.
            var email = error.email;
            // The firebase.auth.AuthCredential type that was used.
            var credential = error.credential;
            // ...
        });
    }
</script>

Но когда я пытаюсь отправить этот токен в pyrebase для получения информации о пользователе, он возвращает ошибку INVALID_ID_TOKEN

Это фрагмент кода, в котором я отправляю токен pyrebase:

user_info = auth.get_account_info(token)

Это ошибка:

requests.exceptions.HTTPError: [Errno 400 Client Error: Bad Request for url: https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=AIzaSyBUH-4_qFvkszGWxII8HyooOJNDqbltDKo] {
"error": {
    "code": 400,
    "message": "INVALID_ID_TOKEN",
    "errors": [
        {
        "message": "INVALID_ID_TOKEN",
        "domain": "global",
        "reason": "invalid"
        }
    ]
}
}

1 Ответ

0 голосов
/ 22 апреля 2019

Я отправлял токен доступа Google, а не Firebase Token

...