UNPKG

2.03 kBJavaScriptView Raw
1var firebase = require("firebase");
2var winston = require('./winston');
3
4// class FirebaseAuth {
5 var FirebaseAuth = function(config){
6 winston.debug("chat21-node-sdk config", config);
7
8 // Initialize Firebase
9// TODO: Replace with your project's customized code snippet
10var firebaseconfig = {
11 apiKey: config.firebase_apikey,
12 databaseURL: config.firebase_database,
13 authDomain: "<PROJECT_ID>.firebaseapp.com",
14 storageBucket: "<BUCKET>.appspot.com",
15 };
16winston.debug("chat21-node-sdk firebaseconfig", firebaseconfig);
17
18firebase.initializeApp(firebaseconfig);
19
20 return {
21 signinWithCustomToken: function(customAuthToken){
22 return new Promise(function(resolve, reject){
23 return firebase.auth().signInWithCustomToken(customAuthToken).then(function (data){
24
25 // winston.debug("customAuthToken", customAuthToken);
26
27
28 firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
29 // winston.debug("idToken", idToken);
30 resolve(idToken);
31 // Send token to your backend via HTTPS
32 // ...
33 }).catch(function(error) {
34 reject(error);
35 });
36
37 }).catch(function(error) {
38
39 // Handle Errors here.
40 var errorCode = error.code;
41 var errorMessage = error.message;
42 if (errorCode === 'auth/invalid-custom-token') {
43 reject(error);
44 } else {
45 reject(error);
46 }
47
48
49 });
50 });
51 }
52 };
53
54}
55
56module.exports = FirebaseAuth;
57// var firebaseAuth = new FirebaseAuth();
58// module.exports = firebaseAuth;
\No newline at end of file