38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
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',
|
|
}
|
|
}
|
|
})
|