fix: resolve frontend lint errors and cleanup types
This commit is contained in:
@@ -47,14 +47,14 @@ export const { handlers, signIn, signOut, auth } = NextAuth({
|
||||
async jwt({ token, account }) {
|
||||
if (account && account.access_token) {
|
||||
// Add clubs claim from Keycloak access token
|
||||
token.clubs = (account as any).clubs as Record<string, string> || {}
|
||||
token.accessToken = account.access_token as string
|
||||
token.clubs = (account as { clubs?: Record<string, string> }).clubs || {}
|
||||
token.accessToken = account.access_token
|
||||
|
||||
try {
|
||||
const payload = JSON.parse(Buffer.from((token.accessToken as string).split('.')[1], 'base64').toString());
|
||||
const roles = payload.realm_access?.roles || [];
|
||||
const roles = (payload.realm_access?.roles as string[]) || [];
|
||||
token.isAdmin = roles.includes('admin');
|
||||
} catch (e) {
|
||||
} catch {
|
||||
token.isAdmin = false;
|
||||
}
|
||||
}
|
||||
@@ -63,10 +63,10 @@ export const { handlers, signIn, signOut, auth } = NextAuth({
|
||||
async session({ session, token }) {
|
||||
// Expose clubs to client
|
||||
if (session.user) {
|
||||
session.user.clubs = (token as any).clubs as Record<string, string> | undefined
|
||||
session.user.isAdmin = (token as any).isAdmin as boolean | undefined
|
||||
session.user.clubs = token.clubs as Record<string, string> | undefined
|
||||
session.user.isAdmin = token.isAdmin as boolean | undefined
|
||||
}
|
||||
session.accessToken = (token as any).accessToken as string | undefined
|
||||
session.accessToken = token.accessToken as string | undefined
|
||||
return session
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user