redux-implicit-oauth2
Version:
OAuth 2.0 Implicit Grant Flow with Redux
43 lines (34 loc) • 1.2 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _token = require('./util/token');
var _oauth = require('./oauth2');
var _oauth2 = _interopRequireDefault(_oauth);
var _actions = require('./actions');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var authMiddleware = function authMiddleware(store) {
return function (next) {
return function (action) {
switch (action.type) {
case _actions.LOGIN_REQUEST:
return (0, _oauth2['default'])(action.config).then(function (_ref) {
var token = _ref.token;
var expiresAt = _ref.expiresAt;
return store.dispatch((0, _actions.loginSuccess)(token, expiresAt));
}, function (error) {
return store.dispatch((0, _actions.loginFailure)(error));
});
case _actions.LOGIN_SUCCESS:
(0, _token.setToken)(action.token, action.expiresAt);
break;
case _actions.LOGIN_FAILURE:
case _actions.LOGOUT:
(0, _token.removeToken)();
break;
}
return next(action);
};
};
};
exports['default'] = authMiddleware;
;