2016-08-07 6 views
2

Firebase v2を使用している大規模なSPAがあります。Firebase - Node.jsサーバのユーザを作成する

アプリがかなり大きいので、私たちは多くの統合テストを開発しました。これらのテストでは、常にデータベースをリセットしてから初期化する必要があります。いくつかのユーザーが存在する状態。しかし、サーバー上にユーザーを作成することは実際にはありませんが(Firebase createUserWithEmailAndPassword method is undefined in node.js)、APIをアップグレードする方法と、サーバーからデータベースをリセットして初期化する方法が不明です。

Firebase v2がまだFacebook OAuth用の非推奨Graph API v2.0を使用しており、8.8.2016以降の使用は推奨されていないため、このアップグレードを余儀なくされています。 Firebase v2は、v2が従来のものであるため、おそらくグラフAPIへの呼び出しをアップグレードしないことを理解しています。これは、しかし、私たちは今、かなり窮地に陥っています。

このトピックに関するご意見はありますか?

答えて

4

Firebase v3.3.0以降では、ノードを使用してユーザアカウントを作成することはできますが、これらの方法を公開する方法についてはドキュメントではあまりよくありません。

ユーザー管理メソッドを使用するには、Web APIキーを使用して、ノード内のアプリケーションを初期化する必要があります。

// The Usual Service Account Init 
// This will not contain any user management methods on firebase.auth() 
this.app = firebase.initializeApp(
    { 
    serviceAccount: 'path/to/serviceaccount/file.json', 
    databaseURL: 'https://mydbfb.firebaseio.com' 
    }, 
    'MyAppName'); 

// Web Client Init in Node.js 
// firebase.auth() will now contain user management methods 
this.app = firebase.initializeApp(
    { 
    "apiKey": "my-api-key", 
    "authDomain": "somedomain.firebaseapp.com", 
    "databaseURL": "https://mydbfb.firebaseio.com", 
    "storageBucket": "myfbdb.appspot.com", 
    "messagingSenderId": "SomeId" 
    }, 
    'MyAppName'); 

あなたは、Webセットアップガイド https://firebase.google.com/docs/web/setup

これは私が明示的にこれを取得するためのAPIキーとinitに必要性を参照している見つけることができる唯一の参照であるから、あなたのFirebaseコンソールからクライアントAPIキーをつかむことができます働く下記の https://groups.google.com/forum/#!msg/firebase-talk/_6Rhro3zBbk/u8hB1oVRCgAJ

1

は、Node.jsの

を通じて詳細について
exports.addUser = function(req, res) { 
var wine = req.body; 

var email = req.body.email; 
console.log(req.body); 
var password = req.body.password; 
var name = req.body.name; 

console.log(“Creating user for -“+email+”-“+password); 

var defaultAuth = admin.auth(); 
admin.auth().createUser({ 
email: email, 
emailVerified: false, 
password: password, 
displayName: name, 
disabled: false 
}) 
.then(function(userRecord) { 

console.log(“Created Firebase User successfully with id :”, userRecord.uid); 
var wine = req.body; 
wine.userId = userRecord.uid; 
wine.timestamp = Date.now(); 
delete wine.password; 
status = “201”; 
var reply = JSON.stringify(wine); 

db.collection(‘collname’, function(err, collection) { 
collection.insert(wine, {safe:true}, function(err, result) { 
if (err) { 
wine.status = “200”; 
wine.message = “An error occured”; 
reply.set(‘status’,”201″); 
res.status(201).send(wine); 

} else { 
console.log(‘Success: ‘ + JSON.stringify(result[0])); 
status= “200”; 
wine.status = “200”; 
wine.message = “Account created Successfully”; 
res.status(200).send(wine); 
} 
}); 
}); 
}) 
.catch(function(error) { 
wine.message = “An error occured—“; 
wine.status = “201”; 

console.log(“User Creation onf Firebase failed:”, error); 
res.status(201).send(wine); 
}); 

} 

をFirebaseユーザーを作成する実施例である、あなたは感謝

http://navraj.net/?p=53

次のブログ記事を見ることができます

関連する問題