Skip to content

Commit 8ceb3b7

Browse files
committed
correcting build error
1 parent df712cc commit 8ceb3b7

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

app/api/oauth/token/route.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ import type { NextRequest } from 'next/server';
33
import { prisma } from '@/app/prisma';
44
import { randomBytes } from 'crypto';
55

6+
// Type for client object
7+
interface ClientType {
8+
id: string;
9+
clientId: string;
10+
clientSecret: string | null;
11+
}
12+
613
// Helper function to create response headers
714
function getCorsHeaders() {
815
return {
@@ -52,7 +59,7 @@ async function createTokens(clientId: string, userId: string, resource?: string)
5259
// Handle refresh token grant
5360
async function handleRefreshTokenGrant(
5461
refreshTokenValue: string,
55-
client: any,
62+
client: ClientType,
5663
clientSecret: string | undefined,
5764
resource?: string
5865
) {
@@ -91,7 +98,7 @@ async function handleRefreshTokenGrant(
9198
}
9299

93100
// Validate client credentials for confidential clients
94-
if (client.clientSecret && client.clientSecret !== clientSecret) {
101+
if (client.clientSecret && (client.clientSecret ?? undefined) !== clientSecret) {
95102
console.log('[RefreshToken] Invalid client credentials');
96103
return NextResponse.json({ error: 'invalid_client' }, {
97104
status: 401,
@@ -106,7 +113,7 @@ async function handleRefreshTokenGrant(
106113
}
107114

108115
// Use existing resource or provided resource
109-
const tokenResource = resource || refreshTokenRecord.resource;
116+
const tokenResource = resource || refreshTokenRecord.resource || undefined;
110117

111118
// Create new tokens
112119
const tokens = await createTokens(client.id, refreshTokenRecord.userId, tokenResource);
@@ -178,7 +185,7 @@ export async function POST(request: NextRequest) {
178185

179186
// Handle refresh token grant
180187
if (grant_type === 'refresh_token') {
181-
return await handleRefreshTokenGrant(refresh_token!, client, client_secret || undefined, resource);
188+
return await handleRefreshTokenGrant(refresh_token!, client, client_secret ?? undefined, resource);
182189
}
183190

184191
// Continue with authorization code grant (existing logic)
@@ -232,7 +239,7 @@ export async function POST(request: NextRequest) {
232239
}
233240

234241
// If PKCE is not present or not valid, require client secret for confidential clients
235-
if (!authCode.codeChallenge && client.clientSecret && client.clientSecret !== client_secret) {
242+
if (!authCode.codeChallenge && client.clientSecret && client.clientSecret !== (client_secret ?? undefined)) {
236243
console.log("Invalid client_secret.", { client_id });
237244
return NextResponse.json({ error: 'invalid_client' }, {
238245
status: 401,
@@ -249,7 +256,7 @@ export async function POST(request: NextRequest) {
249256
const tokens = await createTokens(
250257
client.id,
251258
authCode.userId,
252-
resource || authCode.resource
259+
resource || authCode.resource || undefined
253260
);
254261

255262
console.log("Access token and refresh token created.");

generated/prisma/edge.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

generated/prisma/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ const config = {
238238
"db"
239239
],
240240
"activeProvider": "postgresql",
241+
"postinstall": false,
241242
"inlineDatasources": {
242243
"db": {
243244
"url": {

0 commit comments

Comments
 (0)