@maronn-openid-connect/cli 0.0.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features.d.ts +6 -1
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +22 -1
- package/dist/features.js.map +1 -1
- package/dist/frameworks/hono/index.d.ts.map +1 -1
- package/dist/frameworks/hono/index.js +16 -4
- package/dist/frameworks/hono/index.js.map +1 -1
- package/dist/frameworks/hono/templates.d.ts +11 -3
- package/dist/frameworks/hono/templates.d.ts.map +1 -1
- package/dist/frameworks/hono/templates.js +5720 -2186
- package/dist/frameworks/hono/templates.js.map +1 -1
- package/dist/frameworks/web-standard/templates.d.ts +6 -5
- package/dist/frameworks/web-standard/templates.d.ts.map +1 -1
- package/dist/frameworks/web-standard/templates.js +279 -47
- package/dist/frameworks/web-standard/templates.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_FEATURES } from '../../features.js';
|
|
2
|
-
import { authorizeRouteTemplate, configTemplate, conformanceTestClientsBlock, consentWithdrawalConformanceBlock, consentRouteTemplate, customViewConformanceTestBlock, discoveryRouteTemplate, endpointBehaviorConformanceBlock, featureDisabledDiscoveryConformanceTests, idTokenHintConformanceBlock, introspectionConformanceBlock, introspectionRouteTemplate, jwksRouteTemplate, loginRouteTemplate, parRouteTemplate, parConformanceBlock, tokenExchangeConformanceBlock, pkceDisabledConformanceBlock, persistentStorageConformanceBlock, requestObjectConformanceBeforeAll, requestObjectConformanceModuleSetup, resolversTemplate, reuseFlowConformanceTestBlock, revocationDisabledConformanceBlock, revocationRouteTemplate, scopesSupportedConformanceTest, storeTemplate, tokenEndpointAuthMethodsConformanceBlock, tokenRouteTemplate, userinfoRouteTemplate, viewsTemplate, } from '../hono/templates.js';
|
|
2
|
+
import { authorizationCodeConformanceHelper, authorizeRouteTemplate, configTemplate, conformanceTestClientsBlock, consentWithdrawalConformanceBlock, consentRouteTemplate, customViewConformanceTestBlock, deviceAuthorizationConformanceBlock, deviceAuthorizationRouteTemplate, deviceVerificationRouteTemplate, discoveryRouteTemplate, endpointBehaviorConformanceBlock, featureDisabledDiscoveryConformanceTests, idTokenHintConformanceBlock, introspectionConformanceBlock, introspectionRouteTemplate, jwksRouteTemplate, loginRouteTemplate, parRouteTemplate, parConformanceBlock, jarmConformanceBlock, jarmConfigTemplate, tokenExchangeConformanceBlock, pkceDisabledConformanceBlock, persistentStorageConformanceBlock, requestObjectConformanceBeforeAll, requestObjectConformanceModuleSetup, resolversTemplate, reuseFlowConformanceTestBlock, revocationDisabledConformanceBlock, revocationRouteTemplate, scopesSupportedConformanceTest, storeTemplate, tokenEndpointAuthMethodsConformanceBlock, tokenRouteTemplate, transactionBindingConformanceBlock, userinfoRouteTemplate, viewsTemplate, } from '../hono/templates.js';
|
|
3
3
|
function toWebRouteTemplate(content) {
|
|
4
4
|
return content
|
|
5
5
|
.replace("import { Hono } from 'hono';", "import { WebRouter } from '../web-router.js';")
|
|
@@ -373,6 +373,23 @@ export function webAppTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
|
373
373
|
const parStoreImport = features.par
|
|
374
374
|
? ` parStore,\n`
|
|
375
375
|
: '';
|
|
376
|
+
const deviceImport = features.deviceAuthorizationGrant
|
|
377
|
+
? `import { deviceAuthorizationApp } from './routes/device-authorization.js';
|
|
378
|
+
import { deviceApp } from './routes/device.js';\n`
|
|
379
|
+
: '';
|
|
380
|
+
const deviceCors = features.deviceAuthorizationGrant
|
|
381
|
+
? ` app.use('/device_authorization', protectedCors);\n`
|
|
382
|
+
: '';
|
|
383
|
+
const deviceMount = features.deviceAuthorizationGrant
|
|
384
|
+
? ` app.route('/device_authorization', deviceAuthorizationApp);
|
|
385
|
+
app.route('/device', deviceApp);\n`
|
|
386
|
+
: '';
|
|
387
|
+
const deviceStorageContext = features.deviceAuthorizationGrant
|
|
388
|
+
? ` c.set('deviceAuthorizationStore', deviceAuthorizationStore);\n`
|
|
389
|
+
: '';
|
|
390
|
+
const deviceStoreImport = features.deviceAuthorizationGrant
|
|
391
|
+
? ` deviceAuthorizationStore,\n`
|
|
392
|
+
: '';
|
|
376
393
|
const refreshStorageContext = features.refreshToken
|
|
377
394
|
? ` c.set('refreshTokenResolver', storeResolvers.refreshTokenResolver);\n`
|
|
378
395
|
: '';
|
|
@@ -387,7 +404,7 @@ export function webAppTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
|
387
404
|
import { authorizeApp } from './routes/authorize.js';
|
|
388
405
|
import { tokenApp } from './routes/token.js';
|
|
389
406
|
import { userinfoApp } from './routes/userinfo.js';
|
|
390
|
-
${introspectionImport}${revocationImport}${parImport}import { jwksApp } from './routes/jwks.js';
|
|
407
|
+
${introspectionImport}${revocationImport}${parImport}${deviceImport}import { jwksApp } from './routes/jwks.js';
|
|
391
408
|
import { discoveryApp } from './routes/discovery.js';
|
|
392
409
|
import { loginApp } from './routes/login.js';
|
|
393
410
|
import { consentApp } from './routes/consent.js';
|
|
@@ -401,7 +418,7 @@ import {
|
|
|
401
418
|
} from './resolvers.js';
|
|
402
419
|
import {
|
|
403
420
|
defaultProviderStores,
|
|
404
|
-
${parStoreImport} type ProviderStores,
|
|
421
|
+
${parStoreImport}${deviceStoreImport} type ProviderStores,
|
|
405
422
|
} from './store.js';
|
|
406
423
|
import { createViews, type Views } from './views.js';
|
|
407
424
|
import {
|
|
@@ -475,7 +492,7 @@ export function createApp(options: OidcProviderOptions): WebRouter {
|
|
|
475
492
|
});
|
|
476
493
|
app.use('/token', protectedCors);
|
|
477
494
|
app.use('/userinfo', protectedCors);
|
|
478
|
-
${introspectionCors}${revocationCors}${parCors} app.use('/.well-known/openid-configuration', publicCors);
|
|
495
|
+
${introspectionCors}${revocationCors}${parCors}${deviceCors} app.use('/.well-known/openid-configuration', publicCors);
|
|
479
496
|
app.use('/.well-known/jwks.json', publicCors);
|
|
480
497
|
|
|
481
498
|
app.use('*', async (c, next) => {
|
|
@@ -533,7 +550,7 @@ ${introspectionCors}${revocationCors}${parCors} app.use('/.well-known/openid-co
|
|
|
533
550
|
c.set('authCodeResolver', storeResolvers.authorizationCodeResolver);
|
|
534
551
|
c.set('accessTokenResolver', storeResolvers.accessTokenResolver);
|
|
535
552
|
c.set('userClaimsResolver', storeResolvers.userClaimsResolver);
|
|
536
|
-
${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext}${parStorageContext}
|
|
553
|
+
${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext}${parStorageContext}${deviceStorageContext}
|
|
537
554
|
if (options.acrResolver) {
|
|
538
555
|
c.set('acrResolver', options.acrResolver);
|
|
539
556
|
}
|
|
@@ -551,7 +568,7 @@ ${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext
|
|
|
551
568
|
app.route('/authorize', authorizeApp);
|
|
552
569
|
app.route('/token', tokenApp);
|
|
553
570
|
app.route('/userinfo', userinfoApp);
|
|
554
|
-
${introspectionMount}${revocationMount}${parMount} app.route('/.well-known/jwks.json', jwksApp);
|
|
571
|
+
${introspectionMount}${revocationMount}${parMount}${deviceMount} app.route('/.well-known/jwks.json', jwksApp);
|
|
555
572
|
app.route('/.well-known/openid-configuration', discoveryApp);
|
|
556
573
|
app.route('/login', loginApp);
|
|
557
574
|
app.route('/consent', consentApp);
|
|
@@ -603,6 +620,10 @@ export function expressApplyTemplate(features = DEFAULT_FEATURES) {
|
|
|
603
620
|
const parEndpoint = features.par
|
|
604
621
|
? ` '/par',\n`
|
|
605
622
|
: '';
|
|
623
|
+
const deviceEndpoints = features.deviceAuthorizationGrant
|
|
624
|
+
? ` '/device_authorization',
|
|
625
|
+
'/device',\n`
|
|
626
|
+
: '';
|
|
606
627
|
return `import type { Express } from 'express';
|
|
607
628
|
import type { Request, Response, NextFunction } from 'express';
|
|
608
629
|
import { createApp, type OidcProviderOptions } from './app.js';
|
|
@@ -614,7 +635,7 @@ const OIDC_ENDPOINTS = [
|
|
|
614
635
|
'/authorize',
|
|
615
636
|
'/token',
|
|
616
637
|
'/userinfo',
|
|
617
|
-
${introspectionEndpoint}${revocationEndpoint}${parEndpoint} '/.well-known/jwks.json',
|
|
638
|
+
${introspectionEndpoint}${revocationEndpoint}${parEndpoint}${deviceEndpoints} '/.well-known/jwks.json',
|
|
618
639
|
'/.well-known/openid-configuration',
|
|
619
640
|
'/login',
|
|
620
641
|
'/consent',
|
|
@@ -647,6 +668,12 @@ export function fastifyApplyTemplate(features = DEFAULT_FEATURES) {
|
|
|
647
668
|
const parRoute = features.par
|
|
648
669
|
? ` app.route({ method: ['POST', 'OPTIONS'], url: '/par', handler: handle });\n`
|
|
649
670
|
: '';
|
|
671
|
+
const deviceRoutes = features.deviceAuthorizationGrant
|
|
672
|
+
? ` app.route({ method: ['POST', 'OPTIONS'], url: '/device_authorization', handler: handle });
|
|
673
|
+
app.route({ method: ['GET', 'POST'], url: '/device', handler: handle });
|
|
674
|
+
app.route({ method: ['POST'], url: '/device/login', handler: handle });
|
|
675
|
+
app.route({ method: ['POST'], url: '/device/approve', handler: handle });\n`
|
|
676
|
+
: '';
|
|
650
677
|
return `import type { FastifyInstance } from 'fastify';
|
|
651
678
|
import type { FastifyReply, FastifyRequest } from 'fastify';
|
|
652
679
|
import { createApp, type OidcProviderOptions } from './app.js';
|
|
@@ -682,7 +709,7 @@ export async function applyOidc(app: FastifyInstance, options: ApplyOidcOptions)
|
|
|
682
709
|
app.route({ method: ['GET', 'POST', 'OPTIONS'], url: '/authorize', handler: handle });
|
|
683
710
|
app.route({ method: ['POST', 'OPTIONS'], url: '/token', handler: handle });
|
|
684
711
|
app.route({ method: ['GET', 'POST', 'OPTIONS'], url: '/userinfo', handler: handle });
|
|
685
|
-
${introspectionRoute}${revocationRoute}${parRoute} app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/jwks.json', handler: handle });
|
|
712
|
+
${introspectionRoute}${revocationRoute}${parRoute}${deviceRoutes} app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/jwks.json', handler: handle });
|
|
686
713
|
app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/openid-configuration', handler: handle });
|
|
687
714
|
app.route({ method: ['GET', 'POST'], url: '/login', handler: handle });
|
|
688
715
|
app.route({ method: ['GET', 'POST'], url: '/consent', handler: handle });
|
|
@@ -840,7 +867,7 @@ class UpstashRedisJsonStoreBackend implements JsonStoreBackend {
|
|
|
840
867
|
constructor(
|
|
841
868
|
private readonly url: string,
|
|
842
869
|
private readonly token: string,
|
|
843
|
-
private readonly namespace = 'maronn-
|
|
870
|
+
private readonly namespace = 'maronn-openid-connect:',
|
|
844
871
|
) {}
|
|
845
872
|
|
|
846
873
|
async get<T>(key: string): Promise<T | null> {
|
|
@@ -1131,10 +1158,58 @@ export const runtime = 'nodejs';
|
|
|
1131
1158
|
${exports}
|
|
1132
1159
|
`;
|
|
1133
1160
|
}
|
|
1134
|
-
export function nextJsLoginPageTemplate(corePkg) {
|
|
1135
|
-
|
|
1161
|
+
export function nextJsLoginPageTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1162
|
+
const bindingImports = features.transactionBinding
|
|
1163
|
+
? `import { cookies } from 'next/headers';
|
|
1164
|
+
import { getAuthTransaction, validateTransactionBinding } from '${corePkg}';`
|
|
1165
|
+
: `import { getAuthTransaction } from '${corePkg}';`;
|
|
1166
|
+
const bindingStoreImport = features.transactionBinding
|
|
1167
|
+
? `import {
|
|
1168
|
+
defaultProviderStores,
|
|
1169
|
+
TRANSACTION_BINDING_COOKIE_PREFIX,
|
|
1170
|
+
} from '../_oidc-provider/store';`
|
|
1171
|
+
: `import { defaultProviderStores } from '../_oidc-provider/store';`;
|
|
1172
|
+
const bindingHelper = features.transactionBinding
|
|
1173
|
+
? `
|
|
1174
|
+
/**
|
|
1175
|
+
* Is this request coming from the User-Agent that started the transaction?
|
|
1176
|
+
* The authorization endpoint handed that browser a secret in an HttpOnly cookie
|
|
1177
|
+
* named per transaction; only its hash is stored (OIDC Core 1.0 Section 3.1.2.3
|
|
1178
|
+
* / 3.1.2.4). See buildTransactionBindingCookie() in _oidc-provider/store.ts.
|
|
1179
|
+
*/
|
|
1180
|
+
async function isBoundToThisBrowser(
|
|
1181
|
+
transaction: Awaited<ReturnType<typeof getAuthTransaction>>,
|
|
1182
|
+
transactionId: string,
|
|
1183
|
+
): Promise<boolean> {
|
|
1184
|
+
const cookieStore = await cookies();
|
|
1185
|
+
const bindingSecret = cookieStore.get(TRANSACTION_BINDING_COOKIE_PREFIX + transactionId)?.value;
|
|
1186
|
+
try {
|
|
1187
|
+
await validateTransactionBinding(transaction, bindingSecret);
|
|
1188
|
+
return true;
|
|
1189
|
+
} catch {
|
|
1190
|
+
return false;
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
`
|
|
1194
|
+
: '';
|
|
1195
|
+
const bindingCheck = features.transactionBinding
|
|
1196
|
+
? `
|
|
1197
|
+
// OIDC Core 1.0 Section 3.1.2.3 / 3.1.2.4: this form embeds csrf_token, so only
|
|
1198
|
+
// the User-Agent that started the transaction may render it. transaction_id
|
|
1199
|
+
// alone is not proof — it rides in the URL and can leak. See store.ts.
|
|
1200
|
+
if (!(await isBoundToThisBrowser(transaction, transactionId))) {
|
|
1201
|
+
return (
|
|
1202
|
+
<main>
|
|
1203
|
+
<h1>Login</h1>
|
|
1204
|
+
<p role="alert">This authorization transaction was not started by this browser.</p>
|
|
1205
|
+
</main>
|
|
1206
|
+
);
|
|
1207
|
+
}
|
|
1208
|
+
`
|
|
1209
|
+
: '';
|
|
1210
|
+
return `${bindingImports}
|
|
1136
1211
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1137
|
-
|
|
1212
|
+
${bindingStoreImport}
|
|
1138
1213
|
import { loginAction } from './actions';
|
|
1139
1214
|
|
|
1140
1215
|
const transactionStore =
|
|
@@ -1151,7 +1226,7 @@ interface LoginPageProps {
|
|
|
1151
1226
|
remaining?: string;
|
|
1152
1227
|
}>;
|
|
1153
1228
|
}
|
|
1154
|
-
|
|
1229
|
+
${bindingHelper}
|
|
1155
1230
|
/**
|
|
1156
1231
|
* Login page (React Server Component).
|
|
1157
1232
|
*
|
|
@@ -1183,7 +1258,7 @@ export default async function LoginPage({ searchParams }: LoginPageProps) {
|
|
|
1183
1258
|
}
|
|
1184
1259
|
|
|
1185
1260
|
const transaction = await getAuthTransaction(transactionId, transactionStore);
|
|
1186
|
-
|
|
1261
|
+
${bindingCheck}
|
|
1187
1262
|
const errorMessage =
|
|
1188
1263
|
error === 'invalid_credentials'
|
|
1189
1264
|
? \`Invalid credentials\${remaining ? \`. Attempts remaining: \${remaining}\` : ''}\`
|
|
@@ -1272,19 +1347,43 @@ export default function OidcAuthorizationError() {
|
|
|
1272
1347
|
}
|
|
1273
1348
|
`;
|
|
1274
1349
|
}
|
|
1275
|
-
export function nextJsLoginActionTemplate(corePkg) {
|
|
1350
|
+
export function nextJsLoginActionTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1351
|
+
const bindingCoreImport = features.transactionBinding
|
|
1352
|
+
? `
|
|
1353
|
+
validateTransactionBinding,`
|
|
1354
|
+
: '';
|
|
1355
|
+
const bindingStoreImport = features.transactionBinding
|
|
1356
|
+
? `import {
|
|
1357
|
+
defaultProviderStores,
|
|
1358
|
+
SESSION_COOKIE_NAME,
|
|
1359
|
+
TRANSACTION_BINDING_COOKIE_PREFIX,
|
|
1360
|
+
} from '../_oidc-provider/store';`
|
|
1361
|
+
: `import { defaultProviderStores, SESSION_COOKIE_NAME } from '../_oidc-provider/store';`;
|
|
1362
|
+
const bindingCheck = features.transactionBinding
|
|
1363
|
+
? ` // OIDC Core 1.0 Section 3.1.2.3 / 3.1.2.4: checked before validateCsrfToken —
|
|
1364
|
+
// the CSRF token only proves the value came from the form, and that form is
|
|
1365
|
+
// reachable by anyone holding transaction_id. This proves it is the same
|
|
1366
|
+
// browser. Throws AuthTransactionError, surfaced by the App Router error
|
|
1367
|
+
// boundary rather than redirected to the client. See _oidc-provider/store.ts.
|
|
1368
|
+
const bindingCookieStore = await cookies();
|
|
1369
|
+
await validateTransactionBinding(
|
|
1370
|
+
transaction,
|
|
1371
|
+
bindingCookieStore.get(TRANSACTION_BINDING_COOKIE_PREFIX + transactionId)?.value,
|
|
1372
|
+
);
|
|
1373
|
+
`
|
|
1374
|
+
: '';
|
|
1276
1375
|
return `'use server';
|
|
1277
1376
|
|
|
1278
1377
|
import { redirect } from 'next/navigation';
|
|
1279
1378
|
import { cookies } from 'next/headers';
|
|
1280
1379
|
import {
|
|
1281
1380
|
getAuthTransaction,
|
|
1282
|
-
validateCsrfToken
|
|
1381
|
+
validateCsrfToken,${bindingCoreImport}
|
|
1283
1382
|
handleLoginFailure,
|
|
1284
1383
|
generateRandomString,
|
|
1285
1384
|
} from '${corePkg}';
|
|
1286
1385
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1287
|
-
|
|
1386
|
+
${bindingStoreImport}
|
|
1288
1387
|
|
|
1289
1388
|
const {
|
|
1290
1389
|
transactionStore,
|
|
@@ -1307,7 +1406,7 @@ export async function loginAction(formData: FormData): Promise<void> {
|
|
|
1307
1406
|
const password = String(formData.get('password') ?? '');
|
|
1308
1407
|
|
|
1309
1408
|
const transaction = await getAuthTransaction(transactionId, transactionStore);
|
|
1310
|
-
validateCsrfToken(transaction, csrfToken);
|
|
1409
|
+
${bindingCheck} validateCsrfToken(transaction, csrfToken);
|
|
1311
1410
|
|
|
1312
1411
|
const user = await userStore.authenticate(username, password);
|
|
1313
1412
|
if (!user) {
|
|
@@ -1364,10 +1463,59 @@ export async function loginAction(formData: FormData): Promise<void> {
|
|
|
1364
1463
|
}
|
|
1365
1464
|
`;
|
|
1366
1465
|
}
|
|
1367
|
-
export function nextJsConsentPageTemplate(corePkg) {
|
|
1368
|
-
|
|
1466
|
+
export function nextJsConsentPageTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1467
|
+
const bindingImports = features.transactionBinding
|
|
1468
|
+
? `import { cookies } from 'next/headers';
|
|
1469
|
+
import { getAuthTransaction, validateTransactionBinding } from '${corePkg}';`
|
|
1470
|
+
: `import { getAuthTransaction } from '${corePkg}';`;
|
|
1471
|
+
const bindingStoreImport = features.transactionBinding
|
|
1472
|
+
? `import {
|
|
1473
|
+
defaultProviderStores,
|
|
1474
|
+
TRANSACTION_BINDING_COOKIE_PREFIX,
|
|
1475
|
+
} from '../_oidc-provider/store';`
|
|
1476
|
+
: `import { defaultProviderStores } from '../_oidc-provider/store';`;
|
|
1477
|
+
const bindingHelper = features.transactionBinding
|
|
1478
|
+
? `
|
|
1479
|
+
/**
|
|
1480
|
+
* Is this request coming from the User-Agent that started the transaction?
|
|
1481
|
+
* The authorization endpoint handed that browser a secret in an HttpOnly cookie
|
|
1482
|
+
* named per transaction; only its hash is stored (OIDC Core 1.0 Section 3.1.2.3
|
|
1483
|
+
* / 3.1.2.4). See buildTransactionBindingCookie() in _oidc-provider/store.ts.
|
|
1484
|
+
*/
|
|
1485
|
+
async function isBoundToThisBrowser(
|
|
1486
|
+
transaction: Awaited<ReturnType<typeof getAuthTransaction>>,
|
|
1487
|
+
transactionId: string,
|
|
1488
|
+
): Promise<boolean> {
|
|
1489
|
+
const cookieStore = await cookies();
|
|
1490
|
+
const bindingSecret = cookieStore.get(TRANSACTION_BINDING_COOKIE_PREFIX + transactionId)?.value;
|
|
1491
|
+
try {
|
|
1492
|
+
await validateTransactionBinding(transaction, bindingSecret);
|
|
1493
|
+
return true;
|
|
1494
|
+
} catch {
|
|
1495
|
+
return false;
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
`
|
|
1499
|
+
: '';
|
|
1500
|
+
const bindingCheck = features.transactionBinding
|
|
1501
|
+
? `
|
|
1502
|
+
// OIDC Core 1.0 Section 3.1.2.3 / 3.1.2.4: this form embeds csrf_token and its
|
|
1503
|
+
// submission mints the authorization code, so only the User-Agent that started
|
|
1504
|
+
// the transaction may render it. See _oidc-provider/store.ts.
|
|
1505
|
+
if (!(await isBoundToThisBrowser(transaction, transactionId))) {
|
|
1506
|
+
return (
|
|
1507
|
+
<main>
|
|
1508
|
+
<h1>Authorize Application</h1>
|
|
1509
|
+
<p role="alert">This authorization transaction was not started by this browser.</p>
|
|
1510
|
+
</main>
|
|
1511
|
+
);
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
`
|
|
1515
|
+
: '';
|
|
1516
|
+
return `${bindingImports}
|
|
1369
1517
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1370
|
-
|
|
1518
|
+
${bindingStoreImport}
|
|
1371
1519
|
import { consentAction } from './actions';
|
|
1372
1520
|
|
|
1373
1521
|
const transactionStore =
|
|
@@ -1378,7 +1526,7 @@ export const dynamic = 'force-dynamic';
|
|
|
1378
1526
|
interface ConsentPageProps {
|
|
1379
1527
|
searchParams: Promise<{ transaction_id?: string }>;
|
|
1380
1528
|
}
|
|
1381
|
-
|
|
1529
|
+
${bindingHelper}
|
|
1382
1530
|
/**
|
|
1383
1531
|
* Consent page (React Server Component).
|
|
1384
1532
|
*
|
|
@@ -1398,7 +1546,7 @@ export default async function ConsentPage({ searchParams }: ConsentPageProps) {
|
|
|
1398
1546
|
}
|
|
1399
1547
|
|
|
1400
1548
|
const transaction = await getAuthTransaction(transactionId, transactionStore);
|
|
1401
|
-
const scopes = transaction.scope.split(' ').filter(Boolean);
|
|
1549
|
+
${bindingCheck} const scopes = transaction.scope.split(' ').filter(Boolean);
|
|
1402
1550
|
|
|
1403
1551
|
return (
|
|
1404
1552
|
<main>
|
|
@@ -1427,20 +1575,61 @@ export default async function ConsentPage({ searchParams }: ConsentPageProps) {
|
|
|
1427
1575
|
}
|
|
1428
1576
|
`;
|
|
1429
1577
|
}
|
|
1430
|
-
export function nextJsConsentActionTemplate(corePkg) {
|
|
1578
|
+
export function nextJsConsentActionTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1579
|
+
const bindingCookiesImport = features.transactionBinding
|
|
1580
|
+
? `
|
|
1581
|
+
import { cookies } from 'next/headers';`
|
|
1582
|
+
: '';
|
|
1583
|
+
const bindingCoreImport = features.transactionBinding
|
|
1584
|
+
? `
|
|
1585
|
+
validateTransactionBinding,`
|
|
1586
|
+
: '';
|
|
1587
|
+
const bindingStoreImport = features.transactionBinding
|
|
1588
|
+
? `import {
|
|
1589
|
+
defaultProviderStores,
|
|
1590
|
+
TRANSACTION_BINDING_COOKIE_PREFIX,
|
|
1591
|
+
} from '../_oidc-provider/store';`
|
|
1592
|
+
: `import { defaultProviderStores } from '../_oidc-provider/store';`;
|
|
1593
|
+
const bindingCheck = features.transactionBinding
|
|
1594
|
+
? ` // OIDC Core 1.0 Section 3.1.2.3 / 3.1.2.4: checked before validateCsrfToken and
|
|
1595
|
+
// before any decision is acted on — this step mints the authorization code, so
|
|
1596
|
+
// an unbound caller must reach it neither to approve nor to deny. Throws
|
|
1597
|
+
// AuthTransactionError, surfaced by the App Router error boundary rather than
|
|
1598
|
+
// redirected to the client. See _oidc-provider/store.ts.
|
|
1599
|
+
const cookieStore = await cookies();
|
|
1600
|
+
const bindingCookieName = TRANSACTION_BINDING_COOKIE_PREFIX + transactionId;
|
|
1601
|
+
await validateTransactionBinding(
|
|
1602
|
+
transaction,
|
|
1603
|
+
cookieStore.get(bindingCookieName)?.value,
|
|
1604
|
+
);
|
|
1605
|
+
`
|
|
1606
|
+
: '';
|
|
1607
|
+
const clearBindingCookie = features.transactionBinding
|
|
1608
|
+
? ` // The transaction is over; drop its binding cookie so the browser does not
|
|
1609
|
+
// keep one cookie per finished flow.
|
|
1610
|
+
cookieStore.delete(bindingCookieName);
|
|
1611
|
+
`
|
|
1612
|
+
: '';
|
|
1613
|
+
const clearBindingCookieOnSuccess = features.transactionBinding
|
|
1614
|
+
? ` // The transaction is over; drop its binding cookie so the browser does not
|
|
1615
|
+
// keep one cookie per finished flow.
|
|
1616
|
+
cookieStore.delete(bindingCookieName);
|
|
1617
|
+
|
|
1618
|
+
`
|
|
1619
|
+
: '';
|
|
1431
1620
|
return `'use server';
|
|
1432
1621
|
|
|
1433
|
-
import { redirect } from 'next/navigation'
|
|
1622
|
+
import { redirect } from 'next/navigation';${bindingCookiesImport}
|
|
1434
1623
|
import {
|
|
1435
1624
|
getAuthTransaction,
|
|
1436
|
-
validateCsrfToken
|
|
1625
|
+
validateCsrfToken,${bindingCoreImport}
|
|
1437
1626
|
completeAuthTransaction,
|
|
1438
1627
|
createAuthorizationCode,
|
|
1439
1628
|
} from '${corePkg}';
|
|
1440
1629
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1441
1630
|
import { createStoreResolvers } from '../_oidc-provider/resolvers';
|
|
1442
1631
|
import type { RegisteredClient } from '../_oidc-provider/config';
|
|
1443
|
-
|
|
1632
|
+
${bindingStoreImport}
|
|
1444
1633
|
|
|
1445
1634
|
const providerStores = oidcProviderOptions.storage ?? defaultProviderStores;
|
|
1446
1635
|
const { transactionStore, authCodeStore, authSessionStore } = providerStores;
|
|
@@ -1459,7 +1648,7 @@ export async function consentAction(formData: FormData): Promise<void> {
|
|
|
1459
1648
|
const action = String(formData.get('action') ?? '');
|
|
1460
1649
|
|
|
1461
1650
|
const transaction = await getAuthTransaction(transactionId, transactionStore);
|
|
1462
|
-
validateCsrfToken(transaction, csrfToken);
|
|
1651
|
+
${bindingCheck} validateCsrfToken(transaction, csrfToken);
|
|
1463
1652
|
|
|
1464
1653
|
// RFC 9207 §2: include the issuer identifier on every authorization response.
|
|
1465
1654
|
const issuer = oidcProviderOptions.config?.issuer ?? '';
|
|
@@ -1473,7 +1662,7 @@ export async function consentAction(formData: FormData): Promise<void> {
|
|
|
1473
1662
|
denyUrl.searchParams.set('iss', issuer);
|
|
1474
1663
|
await transactionStore.delete('auth_txn:' + transactionId);
|
|
1475
1664
|
await authSessionStore.delete(transactionId);
|
|
1476
|
-
redirect(denyUrl.toString());
|
|
1665
|
+
${clearBindingCookie} redirect(denyUrl.toString());
|
|
1477
1666
|
}
|
|
1478
1667
|
|
|
1479
1668
|
const session = await authSessionStore.get(transactionId);
|
|
@@ -1517,7 +1706,7 @@ export async function consentAction(formData: FormData): Promise<void> {
|
|
|
1517
1706
|
|
|
1518
1707
|
await authSessionStore.delete(transactionId);
|
|
1519
1708
|
|
|
1520
|
-
const successUrl = new URL(responseParams.redirectUri);
|
|
1709
|
+
${clearBindingCookieOnSuccess} const successUrl = new URL(responseParams.redirectUri);
|
|
1521
1710
|
successUrl.searchParams.set('code', authCodeData.code);
|
|
1522
1711
|
if (responseParams.state) {
|
|
1523
1712
|
successUrl.searchParams.set('state', responseParams.state);
|
|
@@ -1527,7 +1716,7 @@ export async function consentAction(formData: FormData): Promise<void> {
|
|
|
1527
1716
|
}
|
|
1528
1717
|
`;
|
|
1529
1718
|
}
|
|
1530
|
-
export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false) {
|
|
1719
|
+
export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt') {
|
|
1531
1720
|
const usesRedirect = errorPageMode === 'redirect';
|
|
1532
1721
|
const createAppConfig = usesRedirect
|
|
1533
1722
|
? `
|
|
@@ -1633,6 +1822,16 @@ export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', feat
|
|
|
1633
1822
|
});
|
|
1634
1823
|
`
|
|
1635
1824
|
: '';
|
|
1825
|
+
const responseModesSupportedExpectation = features.jarm
|
|
1826
|
+
? ` // OAuth 2.0 Multiple Response Type Encoding Practices §2 + JARM §4: the
|
|
1827
|
+
// code flow returns the authorization response via query, and this OP was
|
|
1828
|
+
// generated with --enable jarm, so the JWT-secured query modes are
|
|
1829
|
+
// advertised alongside it.
|
|
1830
|
+
response_modes_supported: ['query', 'query.jwt', 'jwt'],`
|
|
1831
|
+
: ` // OAuth 2.0 Multiple Response Type Encoding Practices §2: the code flow
|
|
1832
|
+
// returns the authorization response via query, so the OP advertises
|
|
1833
|
+
// response_modes_supported as exactly ['query'].
|
|
1834
|
+
response_modes_supported: ['query'],`;
|
|
1636
1835
|
const parConformanceImports = features.par
|
|
1637
1836
|
? `
|
|
1638
1837
|
import { parStore } from './store.js';
|
|
@@ -1658,7 +1857,7 @@ function idTokenPayload(idToken: string): Record<string, unknown> {
|
|
|
1658
1857
|
const payload = idToken.split('.')[1] ?? '';
|
|
1659
1858
|
return JSON.parse(new TextDecoder().decode(Uint8Array.from(atob(payload.replace(/-/g, '+').replace(/_/g, '/')), (char) => char.charCodeAt(0))));
|
|
1660
1859
|
}
|
|
1661
|
-
|
|
1860
|
+
${authorizationCodeConformanceHelper(features)}
|
|
1662
1861
|
${conformanceTestClientsBlock(features)}${requestObjectConformanceModuleSetup(features)}
|
|
1663
1862
|
let app: ReturnType<typeof createApp>;
|
|
1664
1863
|
let signingKeyProvider: SigningKeyProvider;
|
|
@@ -1821,10 +2020,7 @@ ${nodeAdapterContract}
|
|
|
1821
2020
|
jwks_uri: 'http://localhost:3000/.well-known/jwks.json',
|
|
1822
2021
|
userinfo_endpoint: 'http://localhost:3000/userinfo',
|
|
1823
2022
|
response_types_supported: ['code'],
|
|
1824
|
-
|
|
1825
|
-
// returns the authorization response via query, so the OP advertises
|
|
1826
|
-
// response_modes_supported as exactly ['query'].
|
|
1827
|
-
response_modes_supported: ['query'],
|
|
2023
|
+
${responseModesSupportedExpectation}
|
|
1828
2024
|
});
|
|
1829
2025
|
});
|
|
1830
2026
|
|
|
@@ -2063,10 +2259,11 @@ ${nonRedirectErrorTest}
|
|
|
2063
2259
|
});
|
|
2064
2260
|
});
|
|
2065
2261
|
});
|
|
2066
|
-
${customViewConformanceTestBlock()}${endpointBehaviorConformanceBlock(features)}${idTokenHintConformanceBlock()}${consentWithdrawalConformanceBlock(features)}${reuseFlowConformanceTestBlock(features)}${revocationDisabledConformanceBlock(features)}${tokenEndpointAuthMethodsConformanceBlock()}${pkceDisabledConformanceBlock(features)}${parConformanceBlock(features)}${tokenExchangeConformanceBlock(features)}});
|
|
2262
|
+
${transactionBindingConformanceBlock(features)}${customViewConformanceTestBlock()}${endpointBehaviorConformanceBlock(features)}${idTokenHintConformanceBlock()}${consentWithdrawalConformanceBlock(features)}${reuseFlowConformanceTestBlock(features)}${revocationDisabledConformanceBlock(features)}${tokenEndpointAuthMethodsConformanceBlock()}${pkceDisabledConformanceBlock(features)}${parConformanceBlock(features)}${tokenExchangeConformanceBlock(features)}${deviceAuthorizationConformanceBlock(features)}${jarmConformanceBlock(features, jarmConsentResponseMode)}});
|
|
2067
2263
|
`;
|
|
2068
2264
|
}
|
|
2069
|
-
function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false) {
|
|
2265
|
+
function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt') {
|
|
2266
|
+
const consentFeatures = jarmConsentResponseMode === 'plain' ? { ...features, jarm: false } : features;
|
|
2070
2267
|
return [
|
|
2071
2268
|
{ path: 'app.ts', content: webAppTemplate(corePkg, features) },
|
|
2072
2269
|
{ path: 'web-router.ts', content: webRouterTemplate() },
|
|
@@ -2079,7 +2276,7 @@ function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAU
|
|
|
2079
2276
|
path: 'resolvers.ts',
|
|
2080
2277
|
content: resolversTemplate(corePkg, features).replace('through Hono context', 'through the generated request context'),
|
|
2081
2278
|
},
|
|
2082
|
-
{ path: 'views.ts', content: viewsTemplate() },
|
|
2279
|
+
{ path: 'views.ts', content: viewsTemplate(features) },
|
|
2083
2280
|
{ path: 'routes/authorize.ts', content: toWebRouteTemplate(authorizeRouteTemplate(corePkg, features)) },
|
|
2084
2281
|
{ path: 'routes/token.ts', content: toWebRouteTemplate(tokenRouteTemplate(corePkg, features)) },
|
|
2085
2282
|
{ path: 'routes/userinfo.ts', content: toWebRouteTemplate(userinfoRouteTemplate(corePkg)) },
|
|
@@ -2092,13 +2289,28 @@ function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAU
|
|
|
2092
2289
|
...(features.par
|
|
2093
2290
|
? [{ path: 'routes/par.ts', content: toWebRouteTemplate(parRouteTemplate(corePkg)) }]
|
|
2094
2291
|
: []),
|
|
2292
|
+
...(features.deviceAuthorizationGrant
|
|
2293
|
+
? [
|
|
2294
|
+
{
|
|
2295
|
+
path: 'routes/device-authorization.ts',
|
|
2296
|
+
content: toWebRouteTemplate(deviceAuthorizationRouteTemplate(corePkg, features)),
|
|
2297
|
+
},
|
|
2298
|
+
{
|
|
2299
|
+
path: 'routes/device.ts',
|
|
2300
|
+
content: toWebRouteTemplate(deviceVerificationRouteTemplate(corePkg)),
|
|
2301
|
+
},
|
|
2302
|
+
]
|
|
2303
|
+
: []),
|
|
2304
|
+
...(features.jarm
|
|
2305
|
+
? [{ path: 'routes/jarm.ts', content: jarmConfigTemplate() }]
|
|
2306
|
+
: []),
|
|
2095
2307
|
{ path: 'routes/jwks.ts', content: toWebRouteTemplate(jwksRouteTemplate(corePkg)) },
|
|
2096
2308
|
{ path: 'routes/discovery.ts', content: toWebRouteTemplate(discoveryRouteTemplate(corePkg, features)) },
|
|
2097
|
-
{ path: 'routes/login.ts', content: toWebRouteTemplate(loginRouteTemplate(corePkg)) },
|
|
2098
|
-
{ path: 'routes/consent.ts', content: toWebRouteTemplate(consentRouteTemplate(corePkg)) },
|
|
2309
|
+
{ path: 'routes/login.ts', content: toWebRouteTemplate(loginRouteTemplate(corePkg, features)) },
|
|
2310
|
+
{ path: 'routes/consent.ts', content: toWebRouteTemplate(consentRouteTemplate(corePkg, consentFeatures)) },
|
|
2099
2311
|
{
|
|
2100
2312
|
path: 'conformance.test.ts',
|
|
2101
|
-
content: webConformanceTestTemplate(corePkg, errorPageMode, features, includeNodeAdapterContract),
|
|
2313
|
+
content: webConformanceTestTemplate(corePkg, errorPageMode, features, includeNodeAdapterContract, jarmConsentResponseMode),
|
|
2102
2314
|
},
|
|
2103
2315
|
];
|
|
2104
2316
|
}
|
|
@@ -2113,7 +2325,7 @@ export function webGeneratedFiles(corePkg, applyTemplate, features = DEFAULT_FEA
|
|
|
2113
2325
|
];
|
|
2114
2326
|
}
|
|
2115
2327
|
export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
2116
|
-
const internalFiles = webCoreGeneratedFiles(corePkg, 'redirect', features).map((file) => ({
|
|
2328
|
+
const internalFiles = webCoreGeneratedFiles(corePkg, 'redirect', features, false, 'plain').map((file) => ({
|
|
2117
2329
|
path: `_oidc-provider/${file.path}`,
|
|
2118
2330
|
content: toNextJsModuleImports(file.content),
|
|
2119
2331
|
}));
|
|
@@ -2166,6 +2378,26 @@ export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
|
2166
2378
|
},
|
|
2167
2379
|
]
|
|
2168
2380
|
: []),
|
|
2381
|
+
...(features.deviceAuthorizationGrant
|
|
2382
|
+
? [
|
|
2383
|
+
{
|
|
2384
|
+
path: 'device_authorization/route.ts',
|
|
2385
|
+
content: nextJsEndpointRouteTemplate('../_oidc-provider/runtime', ['POST', 'OPTIONS']),
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
path: 'device/route.ts',
|
|
2389
|
+
content: nextJsEndpointRouteTemplate('../_oidc-provider/runtime', ['GET', 'POST']),
|
|
2390
|
+
},
|
|
2391
|
+
{
|
|
2392
|
+
path: 'device/login/route.ts',
|
|
2393
|
+
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', ['POST']),
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
path: 'device/approve/route.ts',
|
|
2397
|
+
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', ['POST']),
|
|
2398
|
+
},
|
|
2399
|
+
]
|
|
2400
|
+
: []),
|
|
2169
2401
|
{
|
|
2170
2402
|
path: '.well-known/jwks.json/route.ts',
|
|
2171
2403
|
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', [
|
|
@@ -2180,10 +2412,10 @@ export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
|
2180
2412
|
'OPTIONS',
|
|
2181
2413
|
]),
|
|
2182
2414
|
},
|
|
2183
|
-
{ path: 'login/page.tsx', content: nextJsLoginPageTemplate(corePkg) },
|
|
2184
|
-
{ path: 'login/actions.ts', content: nextJsLoginActionTemplate(corePkg) },
|
|
2185
|
-
{ path: 'consent/page.tsx', content: nextJsConsentPageTemplate(corePkg) },
|
|
2186
|
-
{ path: 'consent/actions.ts', content: nextJsConsentActionTemplate(corePkg) },
|
|
2415
|
+
{ path: 'login/page.tsx', content: nextJsLoginPageTemplate(corePkg, features) },
|
|
2416
|
+
{ path: 'login/actions.ts', content: nextJsLoginActionTemplate(corePkg, features) },
|
|
2417
|
+
{ path: 'consent/page.tsx', content: nextJsConsentPageTemplate(corePkg, features) },
|
|
2418
|
+
{ path: 'consent/actions.ts', content: nextJsConsentActionTemplate(corePkg, features) },
|
|
2187
2419
|
{ path: 'oidc-error/page.tsx', content: nextJsAuthorizationErrorPageTemplate() },
|
|
2188
2420
|
{ path: 'oidc-error/error.tsx', content: nextJsAuthorizationErrorBoundaryTemplate() },
|
|
2189
2421
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/frameworks/web-standard/templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/frameworks/web-standard/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAyNA,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAyHxC"}
|