updated production pwd

This commit is contained in:
2023-11-18 19:42:12 +05:30
parent 37f27fe39a
commit 2421902dbf

View File

@ -1,144 +1,144 @@
import React, { Suspense, useState, useEffect } from 'react' import React, { Suspense, useState, useEffect } from "react";
import axios from 'axios'; import axios from "axios";
//import Cookies from 'js-cookie'; //import Cookies from 'js-cookie';
import Cookies from 'universal-cookie'; import Cookies from "universal-cookie";
import { import { Redirect, Route, useLocation, Switch } from "react-router-dom";
Redirect, import { CContainer, CFade } from "@coreui/react";
Route,
useLocation,
Switch
} from 'react-router-dom'
import { CContainer, CFade } from '@coreui/react'
// routes config // routes config
import routes from '../routes' import routes from "../routes";
import Sso from 'src/views/sso'; import Sso from "src/views/sso";
const loading = ( < const loading = (
div className = "pt-3 text-center" > <div className="pt-3 text-center">
<div className = "sk-spinner sk-spinner-pulse" > </div> <div className="sk-spinner sk-spinner-pulse"> </div>
</div> </div>
) );
const TheContent = () => { const TheContent = () => {
const [SsoSession, setSsoSession] = useState("");
const [UserData, setUserData] = useState("");
const [UserId, setUserId] = useState("");
const [isDataFetched, setIsDataFetched] = useState(false);
const [isPosted, setPosted] = useState(false);
const [GotUserId, setGotUserId] = useState(false);
const [SsoSession, setSsoSession] = useState(''); async function fetchSession() {
const [UserData, setUserData] = useState(''); //setSsoSession('{ "expiration": 468, "client_address": "111.223.144.163", "protocol": "urn:oasis:names:tc:SAML:2.0:protocol", "identity_provider": "https://sso.ts.bizside.biz/idp/shibboleth", "authn_instant": "2021-09-03T08:26:41.248Z", "authncontext_class": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "attributes": [ { "name": "mail", "values": [ "akira.miyata@mobilous.com" ] } ] }')
const [UserId, setUserId] = useState(''); const result = await axios(
const [isDataFetched, setIsDataFetched] = useState(false); "https://fbssso.bizside.biz/Shibboleth.sso/Session"
const [isPosted, setPosted] = useState(false); );
const [GotUserId, setGotUserId] = useState(false); if (JSON.stringify(SsoSession) !== JSON.stringify(result.data)) {
//console.log(result.data);
async function fetchSession() { setSsoSession(result.data);
//setSsoSession('{ "expiration": 468, "client_address": "111.223.144.163", "protocol": "urn:oasis:names:tc:SAML:2.0:protocol", "identity_provider": "https://sso.ts.bizside.biz/idp/shibboleth", "authn_instant": "2021-09-03T08:26:41.248Z", "authncontext_class": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "attributes": [ { "name": "mail", "values": [ "akira.miyata@mobilous.com" ] } ] }')
const result = await axios('https://fbssso.bizside.biz/Shibboleth.sso/Session');
if(JSON.stringify(SsoSession) !== JSON.stringify(result.data)) {
//console.log(result.data);
setSsoSession(result.data);
}
} }
}
useEffect(() => { useEffect(() => {
fetchSession() fetchSession();
get_token_from_storage_or_cookie(); get_token_from_storage_or_cookie();
}, []); }, []);
async function postUserData(data) { async function postUserData(data) {
setPosted(true);
setPosted(true); let axiosConfig = {
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
},
};
let axiosConfig = { const result = await axios
headers: { .post("https://fbssso.bizside.biz/csv", data, axiosConfig)
'Content-Type': 'application/json;charset=UTF-8',
"Access-Control-Allow-Origin": "*",
}
};
const result = await axios.post('https://fbssso.bizside.biz/csv', data, axiosConfig)
.catch((err) => { .catch((err) => {
console.log("AXIOS ERROR: ", err); console.log("AXIOS ERROR: ", err);
setPosted(false); setPosted(false);
}); });
console.log("--- res ----", result); console.log("--- res ----", result);
if(result === "OK"){ if (result === "OK") {
} else {
}else{ console.log("res id ", result.data.id);
console.log("res id ", result.data.id); if (data.jsessionid !== result.data.id) {
if(data.jsessionid !== result.data.id){ setUserId(result.data.id);
setUserId(result.data.id); setGotUserId(true);
setGotUserId(true);
}
} }
console.log("user data posted");
} }
async function fetchUser() { console.log("user data posted");
if(SsoSession.attributes == null || SsoSession.attributes[0] === undefined) { }
return false;
}
const user_email = SsoSession.attributes[0].values[0]
//console.log(user_email);
const company_code = "FBS";
const key = "api"
const pwd = "c558a56c63c44f65956adde8863ecc3558f3e55a465d4338bb2e7d2692866fd8";
const result = await axios.get('https://fbssso.bizside.biz/users?email=' + user_email, { async function fetchUser() {
if (
SsoSession.attributes == null ||
SsoSession.attributes[0] === undefined
) {
return false;
}
const user_email = SsoSession.attributes[0].values[0];
//console.log(user_email);
const company_code = "FBS";
const key = "api";
const pwd =
"ae4d70740e7549bda4c118d66e845e450da1af7e918e440eaac16497a9f75292";
const result = await axios
.get("https://fbssso.bizside.biz/users?email=" + user_email, {
auth: { auth: {
username: key, username: key,
password: pwd password: pwd,
} },
}).catch((err) => { })
.catch((err) => {
console.log(err); console.log(err);
return false; return false;
}); });
//console.log(result.data); //console.log(result.data);
if(JSON.stringify(UserData) !== JSON.stringify(result.data[0])) { if (JSON.stringify(UserData) !== JSON.stringify(result.data[0])) {
setUserData(result.data[0]); setUserData(result.data[0]);
} }
return true;
}
function isCSVPath() {
const url = window.location.href;
if (url.includes("dashboard")) {
return true; return true;
} else {
return false;
} }
}
function isCSVPath(){ function getCookie(name) {
const url =window.location.href; const value = `; ${document.cookie}`;
if(url.includes('dashboard')) { const parts = value.split(`; ${name}=`);
return true; if (parts.length === 2) return parts.pop().split(";").shift();
} }
else {
return false;
}
}
function getCookie(name) { function get_token_from_storage_or_cookie() {
const value = `; ${document.cookie}`; //const cookies = new Cookies();
const parts = value.split(`; ${name}=`); //console.log(cookies.getAll());
if (parts.length === 2) return parts.pop().split(';').shift(); const shib = getCookie(
} "_shibsession_64656661756c7468747470733a2f2f66627373736f2e62697a736964652e62697a2f73686962626f6c657468"
);
console.log(shib);
if (shib !== undefined) {
fetchSession().then(() => {
if (SsoSession !== null) {
fetchUser().then(() => {
if (UserId === "") {
let id = Math.floor(100000 + Math.random() * 900000);
setUserId(id);
}
setIsDataFetched(true);
const _firstname = UserData.firstname;
const _lastname = UserData.lastname;
const _email = UserData.email;
const _empcode = UserData.employee_code;
function get_token_from_storage_or_cookie() { const json_str = `[
//const cookies = new Cookies();
//console.log(cookies.getAll());
const shib = getCookie('_shibsession_64656661756c7468747470733a2f2f66627373736f2e62697a736964652e62697a2f73686962626f6c657468')
console.log(shib);
if (shib !== undefined) {
fetchSession().then(() => {
if (SsoSession !== null) {
fetchUser().then(() => {
if(UserId === ''){
let id = Math.floor(100000 + Math.random() * 900000)
setUserId(id);
}
setIsDataFetched(true);
const _firstname = UserData.firstname;
const _lastname = UserData.lastname;
const _email = UserData.email;
const _empcode = UserData.employee_code;
const json_str = `[
{ {
"mailadress": "${_email}", "mailadress": "${_email}",
"name": "${_lastname} ${_firstname}", "name": "${_lastname} ${_firstname}",
@ -149,57 +149,61 @@ const TheContent = () => {
} }
]`; ]`;
//const json_str = '[{"jsessonid": "' + UserId + '" , "name": "' + _firstname + ' ' +_lastname+ '", "mailadress":" ' + _email + '", "empcode": "' + _empcode + '"}]';
//const json_str = '[{"jsessonid": "' + UserId + '" , "name": "' + _firstname + ' ' +_lastname+ '", "mailadress":" ' + _email + '", "empcode": "' + _empcode + '"}]'; if (_empcode !== null && _empcode !== undefined) {
if(_empcode !== null && _empcode !== undefined){ if (isCSVPath()) {
if(isCSVPath()){ if (isPosted == false) {
if(isPosted == false){ postUserData(json_str);
postUserData(json_str);
}
}
}
return true;
});
} }
}); }
} else { }
setIsDataFetched(true); return true;
return null; });
} }
});
} else {
setIsDataFetched(true);
return null;
} }
}
return ( return (
<main className="c-main"> <main className="c-main">
<CContainer fluid> <CContainer fluid>
<Suspense fallback={loading}> <Suspense fallback={loading}>
<Switch> <Switch>
{routes.map((route, idx) => { {routes.map((route, idx) => {
return route.component && ( return (
route.component && (
<Route <Route
key={idx} key={idx}
path={route.path} path={route.path}
exact={route.exact} exact={route.exact}
name={route.name} name={route.name}
render={(props) => render={(props) =>
isDataFetched ? isDataFetched ? (
get_token_from_storage_or_cookie() !== null ? ( get_token_from_storage_or_cookie() !== null ? (
<route.component {...props} userid={UserId} email={UserData.email} gotuserid={GotUserId} /> <route.component
) : ( {...props}
<Redirect to={{ pathname: "/sso" }} /> userid={UserId}
) email={UserData.email}
: gotuserid={GotUserId}
null />
) : (
<Redirect to={{ pathname: "/sso" }} />
)
) : null
} }
/> />
); )
})} );
<Redirect from="/" to="/dashboard" /> })}
</Switch> <Redirect from="/" to="/dashboard" />
</Suspense> </Switch>
</CContainer> </Suspense>
</main> </CContainer>
); </main>
} );
};
export default React.memo(TheContent) export default React.memo(TheContent);