import React, { Suspense, useState, useEffect } from 'react' import axios from 'axios'; //import Cookies from 'js-cookie'; import Cookies from 'universal-cookie'; import { Redirect, Route, Switch } from 'react-router-dom' import { CContainer, CFade } from '@coreui/react' // routes config import routes from '../routes' const loading = ( < div className = "pt-3 text-center" >
) const TheContent = () => { const [SsoSession, setSsoSession] = useState(''); const [UserData, setUserData] = useState(''); async function fetchSession() { // You can await here const result = await axios('https://fsbsso.sumasen.net/Shibboleth.sso/Session'); setSsoSession(result.data); } async function fetchUser() { const user_email = SsoSession.attributes[0].values[0] console.log(user_email); const company_code = "FBS"; const key = "api" const pwd = "c558a56c63c44f65956adde8863ecc3558f3e55a465d4338bb2e7d2692866fd8"; // You can await here const result = await axios.get('https://api.ts.bizside.biz/api/v7/' + company_code + '/users?email=' + user_email, { auth: { username: key, password: pwd } }); console.log(result.data); setUserData(result.data); } function get_token_from_storage_or_cookie() { localStorage.setItem('state', 'off'); // const data = '{ "expiration": 479, "client_address": "123.231.121.140", "protocol": "urn:oasis:names:tc:SAML:2.0:protocol", "identity_provider": "https://sso.ts.bizside.biz/idp/shibboleth", "authn_instant": "2021-08-16T11:29:41.254Z", "authncontext_class": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "attributes": [ { "name": "mail", "values": [ "akira.miyata@mobilous.com" ] } ] }' // const jdata = JSON.parse(data); // const user_email = jdata.attributes[0].values[0] // //console.log(jdata.attributes[0].values[0]); //return true; // const cookies = new Cookies(); // const shib = cookies.get('_shibsession_64656661756c7468747470733a2f2f66736273736f2e73756d6173656e2e6e65742f73686962626f6c657468') // if (shib !== undefined) { // fetchSession().then(() => { // if (SsoSession !== null) { // fetchUser().then(() => { // console.log('requesting user data'); // console.log(UserData); // return true; // }); // } // }); // } else { // return null; // } fetchUser().then(() => { console.log('requesting user data'); console.log(UserData); return true; }); } return (
{ routes.map((route, idx) => { return route.component && ( get_token_from_storage_or_cookie() !== null ? ( ) : ( ) } /> ) }) }
) } export default React.memo(TheContent)