MCPcopy Create free account
hub / github.com/OpenSignLabs/OpenSign / thirdpartyLoginfn

Function thirdpartyLoginfn

apps/OpenSign/src/pages/Login.jsx:151–220  ·  view source on GitHub ↗
(sessionToken)

Source from the content-addressed store, hash-verified

149 };
150
151 const thirdpartyLoginfn = async (sessionToken) => {
152 const baseUrl = localStorage.getItem("baseUrl");
153 const parseAppId = localStorage.getItem("parseAppId");
154 const res = await axios.get(baseUrl + "users/me", {
155 headers: {
156 "X-Parse-Session-Token": sessionToken,
157 "X-Parse-Application-Id": parseAppId
158 }
159 });
160 await Parse.User.become(sessionToken).then(() => {
161 window.localStorage.setItem("accesstoken", sessionToken);
162 });
163 if (res.data) {
164 let _user = res.data;
165 setLocalVar(_user);
166 // Check extended class user role and tenentId
167 try {
168 const userSettings = appInfo.settings;
169 const extUser = await Parse.Cloud.run("getUserDetails");
170 if (extUser) {
171 const IsDisabled = extUser?.get("IsDisabled") || false;
172 if (!IsDisabled) {
173 const userRole = extUser?.get("UserRole");
174 const menu =
175 userRole && userSettings.find((menu) => menu.role === userRole);
176 if (menu) {
177 const _currentRole = userRole;
178 const redirectUrl =
179 location?.state?.from || `/${menu.pageType}/${menu.pageId}`;
180 const _role = _currentRole.replace("contracts_", "");
181 const extInfo = JSON.parse(JSON.stringify(extUser));
182 localStorage.setItem("_user_role", _role);
183 localStorage.setItem("Extand_Class", JSON.stringify([extUser]));
184 localStorage.setItem("userEmail", extInfo?.Email);
185 localStorage.setItem("username", extInfo?.Name);
186 if (extInfo?.TenantId) {
187 const tenant = {
188 Id: extInfo?.TenantId?.objectId || "",
189 Name: extInfo?.TenantId?.TenantName || ""
190 };
191 localStorage.setItem("TenantId", tenant?.Id);
192 dispatch(showTenant(tenant?.Name));
193 localStorage.setItem("TenantName", tenant?.Name);
194 }
195 localStorage.setItem("PageLanding", menu.pageId);
196 localStorage.setItem("defaultmenuid", menu.menuId);
197 localStorage.setItem("pageType", menu.pageType);
198 navigate(redirectUrl);
199 } else {
200 showToast("danger", t("role-not-found"));
201 logOutUser();
202 }
203 } else {
204 showToast("danger", t("do-not-access-contact-admin"));
205 logOutUser();
206 }
207 } else {
208 showToast("danger", t("user-not-found"));

Callers 1

handleSubmitbtnFunction · 0.85

Calls 5

setLocalVarFunction · 0.85
logOutUserFunction · 0.85
handleSubmitbtnFunction · 0.85
setThirdpartyLoaderFunction · 0.85
showToastFunction · 0.70

Tested by

no test coverage detected