1 | var Promise = require('promise');
|
2 | var winston = require('./winston');
|
3 |
|
4 | var Auth = function(config){
|
5 | var request = require('./c21request.js')(config)
|
6 |
|
7 | return {
|
8 |
|
9 | signin: function(email, password){
|
10 | var authrequest = {}
|
11 | authrequest["email"] = email;
|
12 | authrequest["password"] = password;
|
13 | authrequest["returnSecureToken"] = true;
|
14 | return new Promise(function(resolve, reject){
|
15 | request.login(authrequest).then(function(data){
|
16 | winston.debug("chat21-node-sdk login", data);
|
17 | config.authorization = 'Bearer ' + data.idToken;
|
18 | config.token = data.idToken;
|
19 | config.user_id = data.localId;
|
20 | resolve(data);
|
21 | }).catch(function(err){
|
22 | reject(err)
|
23 | })
|
24 | })
|
25 | },
|
26 | logout: function() {
|
27 | config.authorization = null;
|
28 | config.token = null;
|
29 | config.user_id = null;
|
30 | },
|
31 | getCurrentToken: function() {
|
32 | return config.token;
|
33 | },
|
34 | setCurrentToken: function(token) {
|
35 | config.token = token;
|
36 | config.authorization = 'Bearer ' + token;
|
37 | },
|
38 | getAdminToken: function() {
|
39 | return config.admintoken;
|
40 | },
|
41 | setAdminToken: function(admintoken) {
|
42 | config.admintoken = admintoken;
|
43 | },
|
44 |
|
45 | }
|
46 | }
|
47 |
|
48 | module.exports = Auth |
\ | No newline at end of file |