NeahNew/.next/server/app/api/auth/debug-keycloak/route.js
2025-05-06 23:01:34 +02:00

1 line
3.5 KiB
JavaScript

(()=>{var e={};e.id=8370,e.ids=[8370],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},43012:(e,s,r)=>{"use strict";r.r(s),r.d(s,{patchFetch:()=>g,routeModule:()=>p,serverHooks:()=>l,workAsyncStorage:()=>u,workUnitAsyncStorage:()=>d});var t={};r.r(t),r.d(t,{GET:()=>c});var n=r(96559),o=r(48088),a=r(37719),i=r(32190);async function c(){try{let e=process.env.KEYCLOAK_BASE_URL||process.env.KEYCLOAK_ISSUER||process.env.NEXT_PUBLIC_KEYCLOAK_ISSUER,s=process.env.KEYCLOAK_CLIENT_ID,r=process.env.KEYCLOAK_CLIENT_SECRET,t=process.env.KEYCLOAK_ADMIN_USERNAME,n=process.env.KEYCLOAK_ADMIN_PASSWORD,o=process.env.KEYCLOAK_REALM;if(!e)return i.NextResponse.json({error:"Missing Keycloak URL",message:"KEYCLOAK_BASE_URL, KEYCLOAK_ISSUER, or NEXT_PUBLIC_KEYCLOAK_ISSUER is required"},{status:400});if(!s)return i.NextResponse.json({error:"Missing Client ID",message:"KEYCLOAK_CLIENT_ID is required"},{status:400});if(!o)return i.NextResponse.json({error:"Missing Realm",message:"KEYCLOAK_REALM is required"},{status:400});console.log("Environment variables check:",{hasKeycloakUrl:!!e,keycloakUrl:e,hasClientId:!!s,clientId:s,hasClientSecret:!!r,hasAdminUsername:!!t,hasAdminPassword:!!n,realm:o});let a=`${e}/realms/${o}/protocol/openid-connect/token`,c=new URLSearchParams;if(r)c.append("client_id",s),c.append("client_secret",r),c.append("grant_type","client_credentials"),console.log("Using client credentials flow");else{if(!t||!n)return i.NextResponse.json({error:"Missing authentication credentials",message:"Either client_secret or admin username/password is required"},{status:400});c.append("client_id",s),c.append("username",t),c.append("password",n),c.append("grant_type","password"),console.log("Using password grant flow")}console.log(`Testing authentication to: ${a}`);let p=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c});console.log(`Response status: ${p.status}`);let u=await p.json();if(!p.ok)return console.error("Authentication error:",u),i.NextResponse.json({error:"Authentication failed",details:u,requestedUrl:a,clientId:s,grantType:c.get("grant_type")},{status:p.status});return i.NextResponse.json({success:!0,tokenType:u.token_type,expiresIn:u.expires_in,hasAccessToken:!!u.access_token,hasRefreshToken:!!u.refresh_token})}catch(e){return console.error("Error testing Keycloak connection:",e),i.NextResponse.json({error:"Failed to test Keycloak connection",message:e instanceof Error?e.message:String(e)},{status:500})}}let p=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/auth/debug-keycloak/route",pathname:"/api/auth/debug-keycloak",filename:"route",bundlePath:"app/api/auth/debug-keycloak/route"},resolvedPagePath:"/Users/alma/Documents/NeahNew/app/api/auth/debug-keycloak/route.ts",nextConfigOutput:"",userland:t}),{workAsyncStorage:u,workUnitAsyncStorage:d,serverHooks:l}=p;function g(){return(0,a.patchFetch)({workAsyncStorage:u,workUnitAsyncStorage:d})}},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},96487:()=>{}};var s=require("../../../../webpack-runtime.js");s.C(e);var r=e=>s(s.s=e),t=s.X(0,[4243,580],()=>r(43012));module.exports=t})();