Chunkygoo
10/09/2022, 2:09 AMrp
10/09/2022, 3:48 AMChunkygoo
10/09/2022, 3:55 AMrp
10/09/2022, 3:56 AMChunkygoo
10/09/2022, 3:57 AMrp
10/09/2022, 4:02 AMChunkygoo
10/09/2022, 4:06 AMrp
10/09/2022, 4:07 AMChunkygoo
10/09/2022, 4:07 AMrp
10/09/2022, 4:08 AMChunkygoo
10/09/2022, 4:08 AMrp
10/09/2022, 4:09 AMChunkygoo
10/09/2022, 4:09 AMrp
10/09/2022, 4:09 AMChunkygoo
10/09/2022, 4:09 AMrp
10/09/2022, 4:10 AMChunkygoo
10/09/2022, 4:10 AMrp
10/09/2022, 4:10 AMChunkygoo
10/09/2022, 4:11 AM/users/me
, {
headers: {
Cookie: cookieString,
},
})
.catch((e) => {
return e.response;
});
if (res.status === 401) {
return { props: { fromSupertokens: 'needs-refresh' } };
}
return {
props: {
_res: { data: res.data, status: res.status },
},
};
} catch (error) {
console.log(error);
}
}
`rp
10/09/2022, 4:12 AMChunkygoo
10/09/2022, 4:13 AMrp
10/09/2022, 4:14 AMChunkygoo
10/09/2022, 4:15 AMrp
10/09/2022, 4:15 AMChunkygoo
10/09/2022, 4:15 AMrp
10/09/2022, 4:15 AMChunkygoo
10/09/2022, 4:17 AMrp
10/09/2022, 4:17 AMChunkygoo
10/09/2022, 4:17 AMuseEffect(() => {
const abortControllerRefCurrent = abortControllerRef.current;
const wrapper = async () => {
let res = await getCurrentUser(abortControllerRefCurrent);
if (res?.status !== 200 || res?.data.role !== 'admin') {
await signOut();
window.location.reload();
}
setLoading(false);
};
wrapper();
return () => {
abortControllerRefCurrent.abort();
};
}, []);
if (loading) {
return (
<div className="flex h-screen">
<div className="m-auto">
Loading
<Spinner size={10} />
</div>
</div>
);
}
rp
10/09/2022, 4:18 AMChunkygoo
10/09/2022, 4:18 AMrp
10/09/2022, 4:19 AMChunkygoo
10/09/2022, 4:19 AMrp
10/09/2022, 4:20 AMChunkygoo
10/09/2022, 4:20 AMrp
10/09/2022, 4:21 AMChunkygoo
10/09/2022, 4:23 AMrp
10/09/2022, 4:24 AMChunkygoo
10/09/2022, 4:24 AMrp
10/09/2022, 4:24 AMChunkygoo
10/09/2022, 4:24 AMrp
10/09/2022, 4:25 AMChunkygoo
10/09/2022, 4:25 AMrp
10/09/2022, 4:26 AMChunkygoo
10/09/2022, 4:27 AMrp
10/09/2022, 4:27 AMChunkygoo
10/09/2022, 4:27 AMrp
10/09/2022, 4:28 AMChunkygoo
10/09/2022, 4:29 AMrp
10/09/2022, 4:29 AMChunkygoo
10/09/2022, 4:29 AMrp
10/09/2022, 4:30 AMChunkygoo
10/09/2022, 4:30 AMrp
10/09/2022, 4:31 AMChunkygoo
10/09/2022, 4:34 AMrp
10/09/2022, 4:37 AMtsx
Session.init({
override: {
functions: (oI) => {
return {
...oI,
getGlobalClaimValidators: function (input) {
return [...input.claimValidatorsAddedByOtherRecipes, UserRoleClaim.validators.includes("admin")]
}
}
}
}
})
We are making sure that each use of SessionAuth checks that the user roles includes the admin roleSession.init({
override: {
functions: (oI) => {
return {
...oI,
getGlobalClaimValidators: function (input) {
return [...input.claimValidatorsAddedByOtherRecipes, UserRoleClaim.validators.excludes("admin")]
}
}
}
}
})
Chunkygoo
10/09/2022, 4:39 AMrp
10/09/2022, 4:41 AMChunkygoo
10/09/2022, 5:12 AMrp
10/09/2022, 5:23 AMChunkygoo
10/09/2022, 11:53 PMrp
10/10/2022, 3:23 AMChunkygoo
10/10/2022, 5:50 PM