Neah version calendar fix 3 debuger sec chance danger debug 5

This commit is contained in:
alma 2025-04-17 00:36:59 +02:00
parent 16219fc250
commit f22f9490e4

View File

@ -65,7 +65,7 @@ export const authOptions: NextAuthOptions = {
}, },
}), }),
], ],
debug: true, debug: false,
session: { session: {
strategy: 'jwt', strategy: 'jwt',
maxAge: 30 * 24 * 60 * 60, // 30 days maxAge: 30 * 24 * 60 * 60, // 30 days
@ -76,19 +76,11 @@ export const authOptions: NextAuthOptions = {
}, },
callbacks: { callbacks: {
async jwt({ token, account, profile }) { async jwt({ token, account, profile }) {
console.log('JWT callback:', {
tokenBefore: { ...token, refreshToken: token.refreshToken ? '[REDACTED]' : undefined },
account: account ? { ...account, refresh_token: '[REDACTED]' } : null,
profile
});
if (account && profile) { if (account && profile) {
if (!profile.sub) { if (!profile.sub) {
console.error('No user ID (sub) provided by Keycloak');
throw new Error('No user ID (sub) provided by Keycloak'); throw new Error('No user ID (sub) provided by Keycloak');
} }
if (!account.access_token || !account.refresh_token || !account.expires_at) { if (!account.access_token || !account.refresh_token || !account.expires_at) {
console.error('Missing required token fields from Keycloak');
throw new Error('Missing required token fields from Keycloak'); throw new Error('Missing required token fields from Keycloak');
} }
token.id = profile.sub; token.id = profile.sub;
@ -101,10 +93,6 @@ export const authOptions: NextAuthOptions = {
token.accessToken = account.access_token; token.accessToken = account.access_token;
token.refreshToken = account.refresh_token; token.refreshToken = account.refresh_token;
token.accessTokenExpires = account.expires_at * 1000; token.accessTokenExpires = account.expires_at * 1000;
console.log('JWT token updated:', {
tokenAfter: { ...token, refreshToken: '[REDACTED]' }
});
} }
// Return previous token if not expired // Return previous token if not expired
@ -114,12 +102,10 @@ export const authOptions: NextAuthOptions = {
// Token expired, try to refresh // Token expired, try to refresh
if (!token.refreshToken) { if (!token.refreshToken) {
console.error('No refresh token available');
throw new Error('No refresh token available'); throw new Error('No refresh token available');
} }
try { try {
console.log('Attempting to refresh token...');
const response = await fetch( const response = await fetch(
`${process.env.KEYCLOAK_BASE_URL}/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/token`, `${process.env.KEYCLOAK_BASE_URL}/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/token`,
{ {
@ -139,11 +125,9 @@ export const authOptions: NextAuthOptions = {
const tokens = await response.json(); const tokens = await response.json();
if (!response.ok) { if (!response.ok) {
console.error('Token refresh failed:', tokens);
throw new Error('RefreshAccessTokenError'); throw new Error('RefreshAccessTokenError');
} }
console.log('Token refreshed successfully');
return { return {
...token, ...token,
accessToken: tokens.access_token, accessToken: tokens.access_token,
@ -151,7 +135,6 @@ export const authOptions: NextAuthOptions = {
accessTokenExpires: Date.now() + tokens.expires_in * 1000, accessTokenExpires: Date.now() + tokens.expires_in * 1000,
}; };
} catch (error) { } catch (error) {
console.error('Error refreshing token:', error);
return { return {
...token, ...token,
error: 'RefreshAccessTokenError', error: 'RefreshAccessTokenError',
@ -159,13 +142,7 @@ export const authOptions: NextAuthOptions = {
} }
}, },
async session({ session, token }) { async session({ session, token }) {
console.log('Session callback:', {
sessionBefore: session,
token: { ...token, refreshToken: '[REDACTED]' }
});
if (token.error) { if (token.error) {
console.error('Token error:', token.error);
throw new Error('RefreshAccessTokenError'); throw new Error('RefreshAccessTokenError');
} }
@ -173,15 +150,11 @@ export const authOptions: NextAuthOptions = {
id: token.sub ?? token.id ?? '', id: token.sub ?? token.id ?? '',
email: token.email ?? '', email: token.email ?? '',
name: token.name ?? '', name: token.name ?? '',
role: token.role ?? 'user', role: token.role ?? ['user'],
first_name: token.first_name ?? '', first_name: token.first_name ?? '',
last_name: token.last_name ?? '', last_name: token.last_name ?? '',
username: token.username ?? '' username: token.username ?? ''
}; };
console.log('Session after:', {
sessionAfter: { ...session, user: { ...session.user, id: '[REDACTED]' } }
});
return session; return session;
}, },