UNPKG

socketcluster-client

Version:
46 lines (38 loc) 1.12 kB
var AuthEngine = function () { this._internalStorage = {}; }; AuthEngine.prototype._isLocalStorageEnabled = function () { var err; try { // Some browsers will throw an error here if localStorage is disabled. global.localStorage; } catch (e) { err = e; } return !err; }; AuthEngine.prototype.saveToken = function (name, token, options, callback) { if (this._isLocalStorageEnabled() && global.localStorage) { global.localStorage.setItem(name, token); } else { this._internalStorage[name] = token; } callback && callback(); }; AuthEngine.prototype.removeToken = function (name, callback) { if (this._isLocalStorageEnabled() && global.localStorage) { global.localStorage.removeItem(name); } delete this._internalStorage[name]; callback && callback(); }; AuthEngine.prototype.loadToken = function (name, callback) { var token; if (this._isLocalStorageEnabled() && global.localStorage) { token = global.localStorage.getItem(name); } else { token = this._internalStorage[name] || null; } callback(null, token); }; module.exports.AuthEngine = AuthEngine;