chunkygoo.
09/24/2022, 11:04 PMrp_st
09/25/2022, 4:14 AMrp_st
09/25/2022, 4:14 AMchunkygoo.
09/25/2022, 4:22 AMchunkygoo.
09/25/2022, 5:53 AMimport EmailPasswordReact from 'supertokens-auth-react/recipe/emailpassword';
import EmailVerification from 'supertokens-auth-react/recipe/emailverification';
import SessionReact from 'supertokens-auth-react/recipe/session';
import { appInfo } from './appInfo';
import Router from 'next/router';
export const frontendConfig = () => {
return {
appInfo,
recipeList: [
EmailPasswordReact.init({
signInAndUpFeature: {
disableDefaultUI: true,
},
style: {
button: {
backgroundColor: '#0076ff',
border: '0px',
margin: '0 auto',
},
},
}),
EmailVerification.init({
mode: 'REQUIRED',
}),
SessionReact.init({
cookieDomain: 'localhost',
sessionScope: 'localhost',
}),
],
// this is so that the SDK uses the next router for navigation
windowHandler: (oI) => {
return {
...oI,
location: {
...oI.location,
setHref: (href) => {
Router.push(href);
},
},
};
},
};
};
chunkygoo.
09/25/2022, 5:54 AMexport async function getServerSideProps(context) {
let res = await getCurrentUser();
console.log(res.data);
return {
props: { userId: 1 },
};
}
chunkygoo.
09/25/2022, 5:54 AMchunkygoo.
09/25/2022, 5:55 AMrp_st
09/25/2022, 8:39 AMchunkygoo.
09/25/2022, 6:19 PMchunkygoo.
09/25/2022, 6:19 PMchunkygoo.
09/25/2022, 6:20 PMchunkygoo.
09/25/2022, 7:37 PMchunkygoo.
09/25/2022, 7:37 PMchunkygoo.
09/25/2022, 7:39 PM/users/me
, {
headers: {
Cookie: context.req.cookies,
},
})
.catch((e) => {
return e.response;
});
console.log(_res);
} catch (error) {
console.log(error);
}
res.status = _res.status;
res.data = _res.data;
return {
props: {
_res: res,
},
};
}
`chunkygoo.
09/25/2022, 7:40 PMrp_st
09/26/2022, 2:53 AMchunkygoo.
09/26/2022, 3:29 AMchunkygoo.
09/26/2022, 3:29 AMchunkygoo.
09/26/2022, 3:30 AMchunkygoo.
09/26/2022, 3:30 AMchunkygoo.
09/26/2022, 3:30 AMrp_st
09/26/2022, 3:32 AMchunkygoo.
09/26/2022, 3:48 AMchunkygoo.
09/26/2022, 3:48 AMrp_st
09/26/2022, 3:49 AMchunkygoo.
09/26/2022, 3:49 AMchunkygoo.
09/26/2022, 3:49 AMrp_st
09/26/2022, 3:49 AMrp_st
09/26/2022, 3:49 AMchunkygoo.
09/26/2022, 3:50 AMrp_st
09/26/2022, 3:50 AMchunkygoo.
09/26/2022, 3:50 AMrp_st
09/26/2022, 3:50 AMchunkygoo.
09/26/2022, 3:50 AMchunkygoo.
09/26/2022, 3:50 AMrp_st
09/26/2022, 3:51 AMchunkygoo.
09/26/2022, 3:51 AMchunkygoo.
09/26/2022, 3:51 AMrp_st
09/26/2022, 3:51 AMrp_st
09/26/2022, 3:51 AMchunkygoo.
09/26/2022, 3:52 AMrp_st
09/26/2022, 3:52 AMchunkygoo.
09/26/2022, 3:52 AMrp_st
09/26/2022, 3:52 AMchunkygoo.
09/26/2022, 3:53 AMchunkygoo.
09/26/2022, 3:53 AMchunkygoo.
09/26/2022, 4:01 AMchunkygoo.
09/26/2022, 4:02 AMrp_st
09/26/2022, 4:03 AMrp_st
09/26/2022, 4:04 AMchunkygoo.
09/26/2022, 4:05 AMrp_st
09/26/2022, 4:05 AMrp_st
09/26/2022, 4:06 AMrp_st
09/26/2022, 4:06 AMchunkygoo.
09/26/2022, 4:07 AMrp_st
09/26/2022, 4:08 AMrp_st
09/26/2022, 4:08 AMchunkygoo.
09/26/2022, 5:03 AMchunkygoo.
09/26/2022, 5:04 AMrp_st
09/26/2022, 5:05 AMrp_st
09/26/2022, 5:06 AMreturn { props: { fromSupertokens: 'needs-refresh' } }
from the getServerSideProps
function (as shown here: https://supertokens.com/docs/thirdpartyemailpassword/nextjs/session-verification/in-ssr)
And then that should trigger the refresh from the frontend (Assuming that you have followed the nextjs guide)chunkygoo.
09/26/2022, 5:07 AMchunkygoo.
09/26/2022, 5:07 AMrp_st
09/26/2022, 5:07 AMrp_st
09/26/2022, 5:07 AMchunkygoo.
09/26/2022, 5:17 AMchunkygoo.
09/26/2022, 5:18 AM/users/me
, {
headers: {
Cookie: cookieString,
},
})
.catch((e) => {
return e.response;
});
if (_res.status === 401) {
return { props: { fromSupertokens: 'needs-refresh' } };
}
res.status = _res.status;
res.data = _res.data;
} catch (error) {
console.log(error);
}
if (res) {
return {
props: {
_res: res,
},
};
}
return {};
}`chunkygoo.
09/26/2022, 5:19 AMchunkygoo.
09/26/2022, 5:22 AMchunkygoo.
09/26/2022, 5:23 AMuseEffect(() => {
let refresh = async () => {
if (pageProps.fromSupertokens === 'needs-refresh') {
if (await Session.attemptRefreshingSession()) {
location.reload();
} else {
router.push('/auth/loginsignup');
redirectToAuth();
}
}
};
refresh();
}, [pageProps.fromSupertokens, router]);
chunkygoo.
09/26/2022, 5:23 AMchunkygoo.
09/26/2022, 5:23 AMrp_st
09/26/2022, 5:24 AMchunkygoo.
09/26/2022, 5:27 AMchunkygoo.
09/26/2022, 5:27 AMchunkygoo.
09/26/2022, 5:50 AMrp_st
09/26/2022, 5:58 AM