All files / src/containers/SingleSignOn SingleSignOnCallback.jsx

0% Statements 0/26
0% Branches 0/6
0% Functions 0/5
0% Lines 0/19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39                                                                             
import React from 'react';
import pure from 'recompose/pure';
import { connect } from 'react-redux';
import { replace } from 'react-router-redux';
import log from 'domain/log';
import PropTypes from 'prop-types';
import { CallbackComponent } from './';
import { createUserManager } from 'data/SingleSignOn';
import PageLoadingSpinner from 'components/PageLoadingSpinner';
 
const SingleSignOnCallback = (props) => {
  log.debug('SingleSignOnCallback - called!');
  return <CallbackComponent userManager={createUserManager()}
      successCallback={successCallback}
      errorCallback={errorCallback}>
    <PageLoadingSpinner />
  </CallbackComponent>;
 
  function successCallback() {
    log.debug('SingleSignOnCallback - lastUrlPath', sessionStorage.lastUrlPath);
    redirect();
  }
 
  function errorCallback(error) {
    log.error('SingleSignOnCallback - errorCallback', error);
    redirect();
  }
 
  function redirect() {
    props.dispatch(replace(sessionStorage.lastUrlPath || ''));
  }
};
 
SingleSignOnCallback.propTypes = {
  dispatch: PropTypes.func.isRequired,
};
 
export default connect()(pure(SingleSignOnCallback));