metamigo: store user info in nextauth session

This commit is contained in:
Abel Luck 2023-06-07 11:28:18 +00:00
parent 11c595619d
commit cdccc7f062
2 changed files with 7 additions and 16 deletions

View file

@ -70,20 +70,10 @@ const nextAuthOptions = (config: IAppConfig, req: NextApiRequest) => {
providers, providers,
adapter, adapter,
callbacks: { callbacks: {
async jwt(token: any, user: any) { async session({session, token, user}) {
const isSignIn = Boolean(user); session.user.id = user.id
// Add auth_time to token on signin in session.user.userRole = user.userRole;
if (isSignIn) { return session;
// not sure what this does
// if (!token.aud) token.aud;
token.aud = nextAuth.audience;
token.picture = user.avatar;
token.userId = user.id;
token.role = user.userRole ? `app_${user.userRole}` : "app_anonymous";
}
return token;
}, },
}, },
}; };

View file

@ -142,7 +142,7 @@ export class NextAuthAdapter<TRepositories extends IMetamigoRepositories> {
async getSessionAndUser( async getSessionAndUser(
sessionToken: string sessionToken: string
): Promise<{ session: AdapterSession; user: AdapterUser } | null> { ): Promise<{ session: AdapterSession; user: any } | null> {
const session = await this.repos.sessions.findBy({ sessionToken }); const session = await this.repos.sessions.findBy({ sessionToken });
if (!session) return null; if (!session) return null;
if (session && session.expires && new Date() > session.expires) { if (session && session.expires && new Date() > session.expires) {
@ -159,10 +159,11 @@ export class NextAuthAdapter<TRepositories extends IMetamigoRepositories> {
sessionToken: sessionToken, sessionToken: sessionToken,
}; };
const adapterUser: AdapterUser = { const adapterUser: any = {
id: user.id, id: user.id,
email: user.email, email: user.email,
emailVerified: user.emailVerified, emailVerified: user.emailVerified,
userRole: user.userRole
}; };
return { session: adapterSession, user: adapterUser }; return { session: adapterSession, user: adapterUser };