sharma
06/02/2022, 3:34 AMUserContext
vs UserMetadata
which one to choose for user profile data such as timezone, address, etc.?nkshah2
06/02/2022, 3:35 AMsharma
06/02/2022, 3:48 AMUserContext
?nkshah2
06/02/2022, 3:51 AMsharma
06/02/2022, 3:57 AMsignupPost
and from there, I should call UserMetadata.updateUserMetadata(userId, { name: "John Doe" });
nkshah2
06/02/2022, 5:18 AMUserMetaData
to store the informationsharma
06/02/2022, 8:52 AMnkshah2
06/02/2022, 9:45 AMgetAccessTokenPayloadSecurely
sharma
06/02/2022, 12:14 PMnkshah2
06/02/2022, 12:14 PMsharma
06/02/2022, 12:14 PMnkshah2
06/02/2022, 12:16 PMsharma
06/02/2022, 12:19 PMnkshah2
06/02/2022, 12:21 PMsharma
06/02/2022, 12:24 PMnkshah2
06/02/2022, 12:24 PMsharma
06/02/2022, 12:31 PMnkshah2
06/02/2022, 12:45 PMsharma
06/02/2022, 1:54 PMsignInPost
and signUpPOST
override
async function storeUserMetaDataInTokenPayload(session, user) {
let userMetaData = await UserMetadata.getUserMetadata(user.id);
let currAccessTokenPayload = session.getAccessTokenPayload();
console.debug("currAccessTokenPayload: " + JSON.stringify(currAccessTokenPayload));
let accessTokenPayloadWithMetadata = Object.assign({}, userMetaData ? userMetaData.metadata : null, currAccessTokenPayload, userInfo);
console.debug("accessTokenPayloadWithMetadata: " + JSON.stringify(accessTokenPayloadWithMetadata));
await session.updateAccessTokenPayload(accessTokenPayloadWithMetadata);
}
And then I have a middleware for session verification on the backend where on successful session verification, I do this req.user = session.getAccessTokenPayload()
. So now, I can access all user info via req.user
on backend and in the token payload on the frontend.nkshah2
06/03/2022, 5:29 AM