Firebase:错误:PERMISSION_DENIED:权限被拒绝

时间:2016-06-12 02:07:17

标签: firebase firebase-realtime-database firebase-authentication

我想验证firebase应用的用户身份。 为此,我正在进行自定义身份验证。 这会生成User_Id密钥。

但是,使用此token密钥生成User_Id后。 当我在signInWithCustomToken函数中使用该标记时,它说。 “自定义令牌格式不正确。请查看文档。” 有权限被拒绝错误。

数据库规则:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

var firebase = require('firebase');
require('firebase/auth');
require('firebase/database');

var FirebaseTokenGenerator = require("firebase-token-generator");

//firebase configuration
var config = {
    apiKey: "<APP-secret-key>",
    authDomain: "<auth-domain>",
    databaseURL: "<database-url>",
    storageBucket: "",
};

//initialize your firebase app
var fireApp = firebase.initializeApp(config);

//connect to database
var database = firebase.database();

var tokenGenerator = new FirebaseTokenGenerator("<APP-secret-key>");
var token = tokenGenerator.createToken({ uid: "User_id"});
  //get reference for 'user' document
 fireApp.auth().signInWithCustomToken(token).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  console.log('firebaseerrors', errorMessage);
  // ...

});

1 个答案:

答案 0 :(得分:1)

token generator project on Github的自述文件的顶部:

  

警告:此令牌生成器与Firebase SDK的1.x.x和2.x.x版兼容。如果您使用的是3.x.x SDK,请参阅文档here