UNPKG

redux-implicit-oauth2

Version:
43 lines (34 loc) 1.2 kB
'use strict'; 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;