export default defineEventHandler(async (event) => {
  // Test the actual token exchange that's failing
  const config = useRuntimeConfig()
  
  const testCode = "test-code-123" // We won't use this for real exchange, just test setup
  
  const tokenRequest = {
    grant_type: 'authorization_code',
    client_id: process.env.KEYCLOAK_CLIENT_ID,
    client_secret: process.env.KEYCLOAK_CLIENT_SECRET,
    code: testCode,
    redirect_uri: 'https://client.portnimara.dev/oidc/cbt',
  }
  
  return {
    message: "Token exchange test configuration",
    issuer: process.env.KEYCLOAK_ISSUER,
    tokenEndpoint: `${process.env.KEYCLOAK_ISSUER}/protocol/openid-connect/token`,
    clientId: process.env.KEYCLOAK_CLIENT_ID,
    clientSecretLength: process.env.KEYCLOAK_CLIENT_SECRET?.length || 0,
    redirectUri: 'https://client.portnimara.dev/oidc/cbt',
    requestPayload: {
      grant_type: tokenRequest.grant_type,
      client_id: tokenRequest.client_id,
      client_secret: tokenRequest.client_secret ? '***MASKED***' : 'NOT_SET',
      code: 'test-code-will-be-replaced',
      redirect_uri: tokenRequest.redirect_uri,
    },
    // Test the actual HTTP vs HTTPS issue
    environment: {
      NODE_ENV: process.env.NODE_ENV,
      headers: getHeaders(event),
      host: getHeader(event, 'host'),
      protocol: getHeader(event, 'x-forwarded-proto') || 'http',
    }
  }
})
