2014-01-23 74 views

回答

3

您可以通過custom login創建令牌來模擬以用戶身份登錄。

例如,如果您的安全規則,利用auth.uid如下:

".write": "auth.uid == $user_id" 

然後你就可以用適當的UID生成的令牌(加上簡單的登錄任何其他細節你正在使用):

function superUserToken(USER_ID) { 
    var FirebaseTokenGenerator = require("firebase-token-generator"); 
    var tokenGenerator = new FirebaseTokenGenerator(YOUR_FIREBASE_SECRET); 
    return tokenGenerator.createToken({uid: USER_ID}); 
} 

然後,當你想su到另一個用戶,只需調用驗證()直接用新的令牌:

var fbRef = new Firebase(URL); 
fbRef.auth(superUserToken('Kato!'), function(error, user) { /* ... */ }); 

此技術也可用於測試安全規則,而無需在開發環境中創建多個帳戶。

相關問題