session correction sidebar items 8

This commit is contained in:
alma 2025-04-18 15:05:21 +02:00
parent 4e19f9b3bd
commit c3ba88177a

View File

@ -96,22 +96,23 @@ export const authOptions: NextAuthOptions = {
} }
}, },
profile(profile) { profile(profile) {
console.log('Keycloak profile:', { console.log('Keycloak profile callback:', {
rawProfile: profile,
rawRoles: profile.roles, rawRoles: profile.roles,
realmAccess: profile.realm_access, realmAccess: profile.realm_access,
profile groups: profile.groups
}); });
// Get roles from realm_access // Get roles from realm_access
const roles = profile.realm_access?.roles || []; const roles = profile.realm_access?.roles || [];
console.log('Raw roles from Keycloak:', roles); console.log('Profile callback raw roles:', roles);
// Clean up roles by removing ROLE_ prefix and converting to lowercase // Clean up roles by removing ROLE_ prefix and converting to lowercase
const cleanRoles = roles.map((role: string) => const cleanRoles = roles.map((role: string) =>
role.replace(/^ROLE_/, '').toLowerCase() role.replace(/^ROLE_/, '').toLowerCase()
); );
console.log('Cleaned roles:', cleanRoles); console.log('Profile callback cleaned roles:', cleanRoles);
return { return {
id: profile.sub, id: profile.sub,
@ -131,6 +132,12 @@ export const authOptions: NextAuthOptions = {
}, },
callbacks: { callbacks: {
async jwt({ token, account, profile }) { async jwt({ token, account, profile }) {
console.log('JWT callback start:', {
hasAccount: !!account,
hasProfile: !!profile,
token
});
if (account && profile) { if (account && profile) {
const keycloakProfile = profile as KeycloakProfile; const keycloakProfile = profile as KeycloakProfile;
console.log('JWT callback profile:', { console.log('JWT callback profile:', {
@ -141,14 +148,14 @@ export const authOptions: NextAuthOptions = {
// Get roles from realm_access // Get roles from realm_access
const roles = keycloakProfile.realm_access?.roles || []; const roles = keycloakProfile.realm_access?.roles || [];
console.log('JWT raw roles:', roles); console.log('JWT callback raw roles:', roles);
// Clean up roles by removing ROLE_ prefix and converting to lowercase // Clean up roles by removing ROLE_ prefix and converting to lowercase
const cleanRoles = roles.map((role: string) => const cleanRoles = roles.map((role: string) =>
role.replace(/^ROLE_/, '').toLowerCase() role.replace(/^ROLE_/, '').toLowerCase()
); );
console.log('JWT cleaned roles:', cleanRoles); console.log('JWT callback cleaned roles:', cleanRoles);
token.accessToken = account.access_token ?? ''; token.accessToken = account.access_token ?? '';
token.refreshToken = account.refresh_token ?? ''; token.refreshToken = account.refresh_token ?? '';