diff --git a/src/app/api/auth/callback/route.ts b/src/app/api/auth/callback/route.ts index 24b3ec5..a8ec8a3 100644 --- a/src/app/api/auth/callback/route.ts +++ b/src/app/api/auth/callback/route.ts @@ -1,16 +1,18 @@ import axios from "axios"; import { StatusCodes } from "http-status-codes"; import { cookies } from "next/headers"; -import { NextResponse } from "next/server"; +import { NextRequest, NextResponse } from "next/server"; -export async function GET(request: Request) { +export async function GET(request: NextRequest) { const { searchParams } = new URL(request.url); const code = searchParams.get("code"); + console.log(request.url, request.nextUrl); + if (!code) { return NextResponse.json( { error: "No code provided" }, - { status: StatusCodes.BAD_REQUEST } + { status: StatusCodes.BAD_REQUEST }, ); } @@ -26,7 +28,7 @@ export async function GET(request: Request) { headers: { Accept: "application/json", }, - } + }, ); const accessToken = response.data.access_token; @@ -38,12 +40,12 @@ export async function GET(request: Request) { secure: process.env.NODE_ENV === "production", }); - return NextResponse.redirect(new URL("/overview", request.url)); + return NextResponse.redirect(`${request.nextUrl.origin}/overview`); } catch (error) { console.log(error); return NextResponse.json( { error: "Error exchanging code for access token" }, - { status: StatusCodes.INTERNAL_SERVER_ERROR } + { status: StatusCodes.INTERNAL_SERVER_ERROR }, ); } } diff --git a/src/lib/dockship/auth.ts b/src/lib/dockship/auth.ts index 017f799..1b2c04f 100644 --- a/src/lib/dockship/auth.ts +++ b/src/lib/dockship/auth.ts @@ -1,21 +1,11 @@ "use server"; import { client } from "@/core/auth/oauth"; -import { cookies, headers } from "next/headers"; +import { cookies } from "next/headers"; import { redirect } from "next/navigation"; export async function redirectAuth() { - // Get headers of the incoming request - const hdrs = await headers(); - - // Get protocol and host - const host = hdrs.get("host"); - const proto = hdrs.get("x-forwarded-proto") || "http"; - - const baseUrl = `${proto}://${host}`; - const authorizationUri = client.authorizeURL({ - redirect_uri: `${baseUrl}/api/auth/callback`, scope: "user:email", state: "random_state_string", });