как отправить токен firebase с android на node.js сервер - PullRequest
0 голосов
/ 27 мая 2020

Это мой android код. Я хочу отправить токен на сервер node.js и проверить токен в node.js. Но я не знаю, как отправить токен на node.js ..

Я использую аутентификацию firebase и базу данных в реальном времени, поэтому мне нужен токен id для классификации информации о пользователе. Скажите, пожалуйста, лучше всего отправить токен на node.js

        firebaseAuth.signInWithEmailAndPassword(email,pwd)
            .addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    //login
                    if(task.isSuccessful()){
                        Toast.makeText(MainActivity.this, "Login Success", Toast.LENGTH_SHORT).show();

                        FirebaseUser mUser=FirebaseAuth.getInstance().getCurrentUser();
                        mUser.getIdToken(true)
                                .addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                                    @Override
                                    public void onComplete(@NonNull Task<GetTokenResult> task) {
                                        if(task.isSuccessful()){
                                            String idToken=task.getResult().getToken();
                                              //How to send the token to server
                                            Log.d(TAG,"idToken  send:"+idToken);
                                            Toast.makeText(MainActivity.this, idToken, Toast.LENGTH_SHORT).show();
                                        }else{

                                        }
                                    }
                                });

                        firebaseAuth.addAuthStateListener(firebaseAuthListener);

Это мой код промежуточного программного обеспечения node.js для токена проверки.

 const { authCheck } = require('../user_info/firebase');
const user_infoRepository = require('../user_info/repository')

  function firebaseAuth(req, res, next) {
    let token = req.body.token;

   authCheck(token)
    .then(decodedToken => {
        let uid=decodedToken.uid;
        console.log(uid);
        return user_infoRepository.uidFindOrCreate(decodedToken.uid)
    })
    .then(user => {

        req.user = user[0]
        next();
    })
    .catch(e => {
        res.json(e)
    })

   }



  exports.firebaseAuth = firebaseAuth;



  var admin = require("firebase-admin");



  function authCheck(token) {

       return admin.auth().verifyIdToken(token)
          };

         // function userCheck(uid){
      //     return admin.auth().getUser(uid)
    // }

      exports.authCheck = authCheck;
        // exports.userCheck=userCheck;
...