2016-06-12 20 views
1

firebaseアプリケーションのユーザーの身元を認証します。 このため、私はカスタム認証をしています。 これはUser_Idというキーを生成します。Firebase:エラー:PERMISSION_DENIED:許可が拒否されました

ただし、このUser_Idキーを使用してtokenを生成した後。 signInWithCustomTokenの中にそのトークンを使用すると、それは言います。 "カスタムトークン形式が正しくありません。ドキュメントを確認してください。" パーミッションが拒否されました。 token generator project on GithubのREADMEの上から

{ 
    "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

データベースルール

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 .