2016-06-12 228 views
1

我想验证我的Firebase应用用户的身份。 为此,我正在做自定义验证。 它生成一个User_Id密钥。Firebase:错误:PERMISSION_DENIED:权限被拒绝

但是,生成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); 
    // ... 

}); 

回答

0

token generator project on Github的README的顶部:

WARNING: This token generator is compatible with versions 1.x.x and 2.x.x of the Firebase SDK. If you are using the 3.x.x SDK, please refer to the documentation here .