@maronn-openid-connect/cli 0.3.0 → 0.5.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/README.md +47 -0
- package/dist/features.d.ts +6 -3
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +14 -0
- package/dist/features.js.map +1 -1
- package/dist/frameworks/express/index.d.ts.map +1 -1
- package/dist/frameworks/express/index.js +1 -1
- package/dist/frameworks/express/index.js.map +1 -1
- package/dist/frameworks/fastify/index.d.ts.map +1 -1
- package/dist/frameworks/fastify/index.js +1 -1
- package/dist/frameworks/fastify/index.js.map +1 -1
- package/dist/frameworks/hono/index.d.ts.map +1 -1
- package/dist/frameworks/hono/index.js +21 -8
- package/dist/frameworks/hono/index.js.map +1 -1
- package/dist/frameworks/hono/templates.d.ts +19 -8
- package/dist/frameworks/hono/templates.d.ts.map +1 -1
- package/dist/frameworks/hono/templates.js +11191 -6376
- package/dist/frameworks/hono/templates.js.map +1 -1
- package/dist/frameworks/nextjs/index.d.ts.map +1 -1
- package/dist/frameworks/nextjs/index.js +1 -1
- package/dist/frameworks/nextjs/index.js.map +1 -1
- package/dist/frameworks/types.d.ts +1 -0
- package/dist/frameworks/types.d.ts.map +1 -1
- package/dist/frameworks/web-standard/templates.d.ts +5 -5
- package/dist/frameworks/web-standard/templates.d.ts.map +1 -1
- package/dist/frameworks/web-standard/templates.js +199 -54
- package/dist/frameworks/web-standard/templates.js.map +1 -1
- package/dist/generator.d.ts +1 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +2 -2
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -3
- package/dist/index.js.map +1 -1
- package/dist/scopes.d.ts +5 -0
- package/dist/scopes.d.ts.map +1 -0
- package/dist/scopes.js +38 -0
- package/dist/scopes.js.map +1 -0
- package/package.json +4 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_FEATURES } from '../../features.js';
|
|
2
|
-
import { authorizationCodeConformanceHelper, authorizeRouteTemplate, configTemplate, conformanceTestClientsBlock, consentDecisionConformanceBlock, 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';
|
|
2
|
+
import { authorizationCodeConformanceHelper, cibaConformanceBlock, backchannelAuthenticationRouteTemplate, cibaVerificationRouteTemplate, authorizeRouteTemplate, configTemplate, conformanceTestClientsBlock, consentDecisionConformanceBlock, consentWithdrawalConformanceBlock, consentRouteTemplate, customScopeConformanceBlock, customScopesTemplate, customViewConformanceTestBlock, deviceAuthorizationConformanceBlock, deviceAuthorizationRouteTemplate, deviceVerificationRouteTemplate, discoveryRouteTemplate, endpointBehaviorConformanceBlock, featureDisabledDiscoveryConformanceTests, idTokenHintConformanceBlock, internalRedirectOriginConformanceBlock, introspectionConformanceBlock, introspectionRouteTemplate, jwksRouteTemplate, loginRouteTemplate, parRouteTemplate, parConformanceBlock, jarmConformanceBlock, jarmConfigTemplate, jwtIntrospectionResponseConformanceBlock, tokenExchangeConformanceBlock, idJagConformanceBlock, pkceDisabledConformanceBlock, persistentStorageConformanceBlock, requestObjectConformanceBeforeAll, requestObjectConformanceModuleSetup, resolversTemplate, onlineRefreshTokenConformanceBlock, onlineRefreshTokenConformanceStoreImport, 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';")
|
|
@@ -294,6 +294,10 @@ export function toWebRequest(
|
|
|
294
294
|
bodyOverride?: BodyInit | null,
|
|
295
295
|
): Request {
|
|
296
296
|
const path = incoming.originalUrl ?? incoming.url ?? '/';
|
|
297
|
+
// Only the path is taken from the incoming request; the origin comes from
|
|
298
|
+
// baseUrl (config.issuer via applyOidc). URLs the OP builds for itself —
|
|
299
|
+
// the /login and /consent redirect Locations — therefore never depend on
|
|
300
|
+
// the Host header (OIDC Discovery 1.0 §3 / RFC 9700 §2.1).
|
|
297
301
|
const url = new URL(path, baseUrl);
|
|
298
302
|
const headers = new Headers();
|
|
299
303
|
for (const [name, value] of Object.entries(incoming.headers)) {
|
|
@@ -390,8 +394,43 @@ import { deviceApp } from './routes/device.js';\n`
|
|
|
390
394
|
const deviceStoreImport = features.deviceAuthorizationGrant
|
|
391
395
|
? ` deviceAuthorizationStore,\n`
|
|
392
396
|
: '';
|
|
397
|
+
const cibaImport = features.ciba
|
|
398
|
+
? `import { backchannelAuthenticationApp } from './routes/backchannel-authentication.js';
|
|
399
|
+
import { cibaApp } from './routes/ciba-verification.js';\n`
|
|
400
|
+
: '';
|
|
401
|
+
const cibaCors = features.ciba
|
|
402
|
+
? ` app.use('/backchannel_authentication', protectedCors);\n`
|
|
403
|
+
: '';
|
|
404
|
+
const cibaMount = features.ciba
|
|
405
|
+
? ` app.route('/backchannel_authentication', backchannelAuthenticationApp);
|
|
406
|
+
app.route('/ciba', cibaApp);\n`
|
|
407
|
+
: '';
|
|
408
|
+
const cibaStorageContext = features.ciba
|
|
409
|
+
? ` c.set('cibaAuthenticationRequestStore', cibaAuthenticationRequestStore);
|
|
410
|
+
c.set('cibaLoginTransactionStore', cibaLoginTransactionStore);
|
|
411
|
+
c.set('cibaUserResolver', options.cibaUserResolver ?? (async (loginHint: string) => {
|
|
412
|
+
const claims = await stores.userStore.getClaims(loginHint);
|
|
413
|
+
return claims ? { subject: claims.sub } : null;
|
|
414
|
+
}));\n`
|
|
415
|
+
: '';
|
|
416
|
+
const cibaStoreImport = features.ciba
|
|
417
|
+
? ` cibaAuthenticationRequestStore,
|
|
418
|
+
cibaLoginTransactionStore,\n`
|
|
419
|
+
: '';
|
|
420
|
+
const cibaOptionsField = features.ciba
|
|
421
|
+
? ` /**
|
|
422
|
+
* EXPERIMENTAL (CIBA Core 1.0 §7.1): resolve a login_hint to the subject the
|
|
423
|
+
* authentication request is for. Defaults to treating the hint as a username
|
|
424
|
+
* of the configured user store. Return null when no user matches.
|
|
425
|
+
*/
|
|
426
|
+
cibaUserResolver?: (
|
|
427
|
+
loginHint: string,
|
|
428
|
+
) => Promise<{ subject: string } | null> | { subject: string } | null;
|
|
429
|
+
`
|
|
430
|
+
: '';
|
|
393
431
|
const refreshStorageContext = features.refreshToken
|
|
394
|
-
? ` c.set('refreshTokenResolver', storeResolvers.refreshTokenResolver)
|
|
432
|
+
? ` c.set('refreshTokenResolver', storeResolvers.refreshTokenResolver);
|
|
433
|
+
c.set('authenticationSessionResolver', storeResolvers.authenticationSessionResolver);\n`
|
|
395
434
|
: '';
|
|
396
435
|
const introspectionStorageContext = features.introspection
|
|
397
436
|
? ` c.set('introspectionAccessTokenResolver', storeResolvers.introspectionAccessTokenResolver);
|
|
@@ -404,7 +443,7 @@ import { deviceApp } from './routes/device.js';\n`
|
|
|
404
443
|
import { authorizeApp } from './routes/authorize.js';
|
|
405
444
|
import { tokenApp } from './routes/token.js';
|
|
406
445
|
import { userinfoApp } from './routes/userinfo.js';
|
|
407
|
-
${introspectionImport}${revocationImport}${parImport}${deviceImport}import { jwksApp } from './routes/jwks.js';
|
|
446
|
+
${introspectionImport}${revocationImport}${parImport}${deviceImport}${cibaImport}import { jwksApp } from './routes/jwks.js';
|
|
408
447
|
import { discoveryApp } from './routes/discovery.js';
|
|
409
448
|
import { loginApp } from './routes/login.js';
|
|
410
449
|
import { consentApp } from './routes/consent.js';
|
|
@@ -418,7 +457,7 @@ import {
|
|
|
418
457
|
} from './resolvers.js';
|
|
419
458
|
import {
|
|
420
459
|
defaultProviderStores,
|
|
421
|
-
${parStoreImport}${deviceStoreImport} type ProviderStores,
|
|
460
|
+
${parStoreImport}${deviceStoreImport}${cibaStoreImport} type ProviderStores,
|
|
422
461
|
} from './store.js';
|
|
423
462
|
import { createViews, type Views } from './views.js';
|
|
424
463
|
import {
|
|
@@ -454,7 +493,7 @@ export interface OidcProviderOptions {
|
|
|
454
493
|
storage?: ProviderStores;
|
|
455
494
|
acrResolver?: AcrResolver;
|
|
456
495
|
jwksProvider?: () => Promise<JwkSet> | JwkSet;
|
|
457
|
-
corsOrigins?: CorsOrigins;
|
|
496
|
+
${cibaOptionsField} corsOrigins?: CorsOrigins;
|
|
458
497
|
/**
|
|
459
498
|
* Custom UI for the login / consent / error pages.
|
|
460
499
|
* Provide any subset; omitted pages fall back to the default views.
|
|
@@ -492,7 +531,7 @@ export function createApp(options: OidcProviderOptions): WebRouter {
|
|
|
492
531
|
});
|
|
493
532
|
app.use('/token', protectedCors);
|
|
494
533
|
app.use('/userinfo', protectedCors);
|
|
495
|
-
${introspectionCors}${revocationCors}${parCors}${deviceCors} app.use('/.well-known/openid-configuration', publicCors);
|
|
534
|
+
${introspectionCors}${revocationCors}${parCors}${deviceCors}${cibaCors} app.use('/.well-known/openid-configuration', publicCors);
|
|
496
535
|
app.use('/.well-known/jwks.json', publicCors);
|
|
497
536
|
|
|
498
537
|
app.use('*', async (c, next) => {
|
|
@@ -550,7 +589,7 @@ ${introspectionCors}${revocationCors}${parCors}${deviceCors} app.use('/.well-kn
|
|
|
550
589
|
c.set('authCodeResolver', storeResolvers.authorizationCodeResolver);
|
|
551
590
|
c.set('accessTokenResolver', storeResolvers.accessTokenResolver);
|
|
552
591
|
c.set('userClaimsResolver', storeResolvers.userClaimsResolver);
|
|
553
|
-
${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext}${parStorageContext}${deviceStorageContext}
|
|
592
|
+
${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext}${parStorageContext}${deviceStorageContext}${cibaStorageContext}
|
|
554
593
|
if (options.acrResolver) {
|
|
555
594
|
c.set('acrResolver', options.acrResolver);
|
|
556
595
|
}
|
|
@@ -568,7 +607,7 @@ ${refreshStorageContext}${introspectionStorageContext}${revocationStorageContext
|
|
|
568
607
|
app.route('/authorize', authorizeApp);
|
|
569
608
|
app.route('/token', tokenApp);
|
|
570
609
|
app.route('/userinfo', userinfoApp);
|
|
571
|
-
${introspectionMount}${revocationMount}${parMount}${deviceMount} app.route('/.well-known/jwks.json', jwksApp);
|
|
610
|
+
${introspectionMount}${revocationMount}${parMount}${deviceMount}${cibaMount} app.route('/.well-known/jwks.json', jwksApp);
|
|
572
611
|
app.route('/.well-known/openid-configuration', discoveryApp);
|
|
573
612
|
app.route('/login', loginApp);
|
|
574
613
|
app.route('/consent', consentApp);
|
|
@@ -624,6 +663,10 @@ export function expressApplyTemplate(features = DEFAULT_FEATURES) {
|
|
|
624
663
|
? ` '/device_authorization',
|
|
625
664
|
'/device',\n`
|
|
626
665
|
: '';
|
|
666
|
+
const cibaEndpoints = features.ciba
|
|
667
|
+
? ` '/backchannel_authentication',
|
|
668
|
+
'/ciba',\n`
|
|
669
|
+
: '';
|
|
627
670
|
return `import type { Express } from 'express';
|
|
628
671
|
import type { Request, Response, NextFunction } from 'express';
|
|
629
672
|
import { createApp, type OidcProviderOptions } from './app.js';
|
|
@@ -635,7 +678,7 @@ const OIDC_ENDPOINTS = [
|
|
|
635
678
|
'/authorize',
|
|
636
679
|
'/token',
|
|
637
680
|
'/userinfo',
|
|
638
|
-
${introspectionEndpoint}${revocationEndpoint}${parEndpoint}${deviceEndpoints} '/.well-known/jwks.json',
|
|
681
|
+
${introspectionEndpoint}${revocationEndpoint}${parEndpoint}${deviceEndpoints}${cibaEndpoints} '/.well-known/jwks.json',
|
|
639
682
|
'/.well-known/openid-configuration',
|
|
640
683
|
'/login',
|
|
641
684
|
'/consent',
|
|
@@ -643,6 +686,9 @@ ${introspectionEndpoint}${revocationEndpoint}${parEndpoint}${deviceEndpoints} '
|
|
|
643
686
|
|
|
644
687
|
export function applyOidc(app: Express, options: ApplyOidcOptions): void {
|
|
645
688
|
const oidc = createApp(options);
|
|
689
|
+
// The advertised issuer is the source of truth for the OP's own origin
|
|
690
|
+
// (OIDC Discovery 1.0 §3); the node adapter drops the request's Host-derived
|
|
691
|
+
// origin in favor of this value.
|
|
646
692
|
const baseUrl = options.config?.issuer ?? 'http://localhost';
|
|
647
693
|
|
|
648
694
|
for (const endpoint of OIDC_ENDPOINTS) {
|
|
@@ -674,6 +720,12 @@ export function fastifyApplyTemplate(features = DEFAULT_FEATURES) {
|
|
|
674
720
|
app.route({ method: ['POST'], url: '/device/login', handler: handle });
|
|
675
721
|
app.route({ method: ['POST'], url: '/device/approve', handler: handle });\n`
|
|
676
722
|
: '';
|
|
723
|
+
const cibaRoutes = features.ciba
|
|
724
|
+
? ` app.route({ method: ['POST', 'OPTIONS'], url: '/backchannel_authentication', handler: handle });
|
|
725
|
+
app.route({ method: ['GET'], url: '/ciba', handler: handle });
|
|
726
|
+
app.route({ method: ['POST'], url: '/ciba/login', handler: handle });
|
|
727
|
+
app.route({ method: ['POST'], url: '/ciba/approve', handler: handle });\n`
|
|
728
|
+
: '';
|
|
677
729
|
return `import type { FastifyInstance } from 'fastify';
|
|
678
730
|
import type { FastifyReply, FastifyRequest } from 'fastify';
|
|
679
731
|
import { createApp, type OidcProviderOptions } from './app.js';
|
|
@@ -683,6 +735,9 @@ export type ApplyOidcOptions = OidcProviderOptions;
|
|
|
683
735
|
|
|
684
736
|
export async function applyOidc(app: FastifyInstance, options: ApplyOidcOptions): Promise<void> {
|
|
685
737
|
const oidc = createApp(options);
|
|
738
|
+
// The advertised issuer is the source of truth for the OP's own origin
|
|
739
|
+
// (OIDC Discovery 1.0 §3); the node adapter drops the request's Host-derived
|
|
740
|
+
// origin in favor of this value.
|
|
686
741
|
const baseUrl = options.config?.issuer ?? 'http://localhost';
|
|
687
742
|
|
|
688
743
|
if (!app.hasContentTypeParser('application/x-www-form-urlencoded')) {
|
|
@@ -709,7 +764,7 @@ export async function applyOidc(app: FastifyInstance, options: ApplyOidcOptions)
|
|
|
709
764
|
app.route({ method: ['GET', 'POST', 'OPTIONS'], url: '/authorize', handler: handle });
|
|
710
765
|
app.route({ method: ['POST', 'OPTIONS'], url: '/token', handler: handle });
|
|
711
766
|
app.route({ method: ['GET', 'POST', 'OPTIONS'], url: '/userinfo', handler: handle });
|
|
712
|
-
${introspectionRoute}${revocationRoute}${parRoute}${deviceRoutes} app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/jwks.json', handler: handle });
|
|
767
|
+
${introspectionRoute}${revocationRoute}${parRoute}${deviceRoutes}${cibaRoutes} app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/jwks.json', handler: handle });
|
|
713
768
|
app.route({ method: ['GET', 'OPTIONS'], url: '/.well-known/openid-configuration', handler: handle });
|
|
714
769
|
app.route({ method: ['GET', 'POST'], url: '/login', handler: handle });
|
|
715
770
|
app.route({ method: ['GET', 'POST'], url: '/consent', handler: handle });
|
|
@@ -753,6 +808,10 @@ export function createOidcRouteHandlers(options: NextOidcProviderOptions): NextO
|
|
|
753
808
|
};
|
|
754
809
|
}
|
|
755
810
|
|
|
811
|
+
// The advertised issuer is the source of truth for the OP's own origin
|
|
812
|
+
// (OIDC Discovery 1.0 §3): rebasing here keeps every URL the OP derives from
|
|
813
|
+
// the request — including the /login and /consent redirect Locations —
|
|
814
|
+
// independent of the Host header the runtime saw (RFC 9700 §2.1).
|
|
756
815
|
function rebaseRequestOrigin(request: Request, issuer: string | undefined): Request {
|
|
757
816
|
if (!issuer) return request;
|
|
758
817
|
|
|
@@ -1440,18 +1499,21 @@ ${bindingCheck} validateCsrfToken(transaction, csrfToken);
|
|
|
1440
1499
|
|
|
1441
1500
|
const authTime = Math.floor(Date.now() / 1000);
|
|
1442
1501
|
|
|
1443
|
-
// Store authenticated subject for the consent step (per-transaction handoff).
|
|
1444
|
-
await authSessionStore.set(transactionId, {
|
|
1445
|
-
subject: user.sub,
|
|
1446
|
-
authTime,
|
|
1447
|
-
});
|
|
1448
|
-
|
|
1449
1502
|
// Establish a persistent browser (OP) session so SSO / prompt=none / max_age
|
|
1450
1503
|
// work on subsequent authorization requests (OIDC Core 1.0 Section 3.1.2.3).
|
|
1451
1504
|
// Cookie attributes match buildSessionCookie() in store.ts so the
|
|
1452
1505
|
// sessionResolver can read it back.
|
|
1453
1506
|
const sessionId = await generateRandomString(32);
|
|
1454
1507
|
await browserSessionStore.set(sessionId, { subject: user.sub, authTime });
|
|
1508
|
+
|
|
1509
|
+
// Store authenticated subject for the consent step (per-transaction handoff).
|
|
1510
|
+
// sessionId も渡すのは online refresh token のため。consent 経由で発行する認可
|
|
1511
|
+
// コードにこのセッションを引き継ぎ、ログアウトで使えなくなる RT を作る。
|
|
1512
|
+
await authSessionStore.set(transactionId, {
|
|
1513
|
+
subject: user.sub,
|
|
1514
|
+
authTime,
|
|
1515
|
+
sessionId,
|
|
1516
|
+
});
|
|
1455
1517
|
cookieStore.set(SESSION_COOKIE_NAME, sessionId, {
|
|
1456
1518
|
httpOnly: true,
|
|
1457
1519
|
secure: true,
|
|
@@ -1463,7 +1525,28 @@ ${bindingCheck} validateCsrfToken(transaction, csrfToken);
|
|
|
1463
1525
|
}
|
|
1464
1526
|
`;
|
|
1465
1527
|
}
|
|
1466
|
-
export function nextJsConsentPageTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1528
|
+
export function nextJsConsentPageTemplate(corePkg, features = DEFAULT_FEATURES, scopes = []) {
|
|
1529
|
+
const customScopesDeclared = scopes.length > 0;
|
|
1530
|
+
const customScopeImport = customScopesDeclared
|
|
1531
|
+
? `
|
|
1532
|
+
import { resolveGrantableScopes } from '../_oidc-provider/scopes';`
|
|
1533
|
+
: '';
|
|
1534
|
+
const consentPageScopes = customScopesDeclared
|
|
1535
|
+
? ` // The subject comes from the auth session that the login step stored for this
|
|
1536
|
+
// transaction; without one there is nothing to apply the scope policy to, so
|
|
1537
|
+
// the request is shown as-is and the Server Action stops on the same missing
|
|
1538
|
+
// session.
|
|
1539
|
+
const consentSession = await authSessionStore.get(transactionId);
|
|
1540
|
+
const requestedScopes = transaction.scope.split(' ').filter(Boolean);
|
|
1541
|
+
const scopes = consentSession
|
|
1542
|
+
? await resolveGrantableScopes(requestedScopes, consentSession.subject)
|
|
1543
|
+
: requestedScopes;`
|
|
1544
|
+
: ` const scopes = transaction.scope.split(' ').filter(Boolean);`;
|
|
1545
|
+
const consentPageStores = customScopesDeclared
|
|
1546
|
+
? `
|
|
1547
|
+
const authSessionStore =
|
|
1548
|
+
(oidcProviderOptions.storage ?? defaultProviderStores).authSessionStore;`
|
|
1549
|
+
: '';
|
|
1467
1550
|
const bindingImports = features.transactionBinding
|
|
1468
1551
|
? `import { cookies } from 'next/headers';
|
|
1469
1552
|
import { getAuthTransaction, validateTransactionBinding } from '${corePkg}';`
|
|
@@ -1516,10 +1599,10 @@ async function isBoundToThisBrowser(
|
|
|
1516
1599
|
return `${bindingImports}
|
|
1517
1600
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1518
1601
|
${bindingStoreImport}
|
|
1519
|
-
import { consentAction } from './actions'
|
|
1602
|
+
import { consentAction } from './actions';${customScopeImport}
|
|
1520
1603
|
|
|
1521
1604
|
const transactionStore =
|
|
1522
|
-
(oidcProviderOptions.storage ?? defaultProviderStores).transactionStore
|
|
1605
|
+
(oidcProviderOptions.storage ?? defaultProviderStores).transactionStore;${consentPageStores}
|
|
1523
1606
|
|
|
1524
1607
|
export const dynamic = 'force-dynamic';
|
|
1525
1608
|
|
|
@@ -1546,7 +1629,7 @@ export default async function ConsentPage({ searchParams }: ConsentPageProps) {
|
|
|
1546
1629
|
}
|
|
1547
1630
|
|
|
1548
1631
|
const transaction = await getAuthTransaction(transactionId, transactionStore);
|
|
1549
|
-
${bindingCheck}
|
|
1632
|
+
${bindingCheck}${consentPageScopes}
|
|
1550
1633
|
|
|
1551
1634
|
return (
|
|
1552
1635
|
<main>
|
|
@@ -1582,7 +1665,23 @@ ${bindingCheck} const scopes = transaction.scope.split(' ').filter(Boolean);
|
|
|
1582
1665
|
}
|
|
1583
1666
|
`;
|
|
1584
1667
|
}
|
|
1585
|
-
export function nextJsConsentActionTemplate(corePkg, features = DEFAULT_FEATURES) {
|
|
1668
|
+
export function nextJsConsentActionTemplate(corePkg, features = DEFAULT_FEATURES, scopes = []) {
|
|
1669
|
+
const customScopesDeclared = scopes.length > 0;
|
|
1670
|
+
const customScopeImport = customScopesDeclared
|
|
1671
|
+
? `
|
|
1672
|
+
import { resolveGrantableScopes } from '../_oidc-provider/scopes';`
|
|
1673
|
+
: '';
|
|
1674
|
+
const consentGrantedScope = customScopesDeclared
|
|
1675
|
+
? `
|
|
1676
|
+
// Apply the scope policy (resolveGrantableScopes in _oidc-provider/scopes.ts —
|
|
1677
|
+
// the place to write per-user filtering). A dropped scope narrows the grant
|
|
1678
|
+
// rather than failing the request: RFC 6749 §3.3 lets the authorization server
|
|
1679
|
+
// issue a narrower scope, and the token response reports what was granted.
|
|
1680
|
+
const grantedScope = await resolveGrantableScopes(
|
|
1681
|
+
transaction.scope.split(' ').filter(Boolean),
|
|
1682
|
+
session.subject,
|
|
1683
|
+
);`
|
|
1684
|
+
: ` const grantedScope = transaction.scope.split(' ').filter(Boolean);`;
|
|
1586
1685
|
const bindingCookiesImport = features.transactionBinding
|
|
1587
1686
|
? `
|
|
1588
1687
|
import { cookies } from 'next/headers';`
|
|
@@ -1635,8 +1734,7 @@ import {
|
|
|
1635
1734
|
} from '${corePkg}';
|
|
1636
1735
|
import { oidcProviderOptions } from '../_oidc-provider/runtime';
|
|
1637
1736
|
import { createStoreResolvers } from '../_oidc-provider/resolvers';
|
|
1638
|
-
|
|
1639
|
-
${bindingStoreImport}
|
|
1737
|
+
${bindingStoreImport}${customScopeImport}
|
|
1640
1738
|
|
|
1641
1739
|
const providerStores = oidcProviderOptions.storage ?? defaultProviderStores;
|
|
1642
1740
|
const { transactionStore, authCodeStore, authSessionStore } = providerStores;
|
|
@@ -1702,22 +1800,19 @@ ${clearBindingCookie} redirect(denyUrl.toString());
|
|
|
1702
1800
|
transactionStore,
|
|
1703
1801
|
);
|
|
1704
1802
|
|
|
1705
|
-
//
|
|
1706
|
-
//
|
|
1707
|
-
//
|
|
1708
|
-
|
|
1709
|
-
transaction.clientId,
|
|
1710
|
-
)) as RegisteredClient | null | undefined;
|
|
1711
|
-
const grantedScope = transaction.scope.split(' ').filter((s) => {
|
|
1712
|
-
if (s === 'offline_access' && !clientConfig?.offlineAccessAllowed) return false;
|
|
1713
|
-
return Boolean(s);
|
|
1714
|
-
});
|
|
1803
|
+
// transaction.scope は認可リクエスト検証時に applyOfflineAccessPolicy を通した後の値。
|
|
1804
|
+
// offline_access の可否(OIDC Core 1.0 §11 の prompt=consent と、クライアント登録
|
|
1805
|
+
// grant_types に refresh_token があるか)はそこで確定しているので再フィルタしない。
|
|
1806
|
+
${consentGrantedScope}
|
|
1715
1807
|
|
|
1716
1808
|
// OIDC Core 1.0 Section 3.1.3.1: TTL is configurable via ProviderConfig.
|
|
1717
1809
|
const authCodeData = await createAuthorizationCode({
|
|
1718
1810
|
authorizationResponse: { ...responseParams, scope: grantedScope },
|
|
1719
1811
|
subject: session.subject,
|
|
1720
1812
|
authTime: session.authTime,
|
|
1813
|
+
// online refresh token をこのログインセッションへ束縛する(login フローが
|
|
1814
|
+
// authSessionStore へ載せた値)。ログアウトすれば RT も使えなくなる。
|
|
1815
|
+
sessionId: session.sessionId,
|
|
1721
1816
|
ttlSeconds: oidcProviderOptions.config?.authorizationCodeTtl,
|
|
1722
1817
|
});
|
|
1723
1818
|
await authCodeStore.set(authCodeData.code, authCodeData);
|
|
@@ -1742,8 +1837,12 @@ ${clearBindingCookieOnSuccess} const successUrl = new URL(responseParams.redire
|
|
|
1742
1837
|
}
|
|
1743
1838
|
`;
|
|
1744
1839
|
}
|
|
1745
|
-
export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt') {
|
|
1840
|
+
export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt', scopes = []) {
|
|
1746
1841
|
const usesRedirect = errorPageMode === 'redirect';
|
|
1842
|
+
const customScopeConformanceImport = scopes.length > 0
|
|
1843
|
+
? `
|
|
1844
|
+
import { RESTRICTED_SCOPE_SUBJECTS } from './scopes.js';`
|
|
1845
|
+
: '';
|
|
1747
1846
|
const createAppConfig = usesRedirect
|
|
1748
1847
|
? `
|
|
1749
1848
|
config: { authorizationErrorRedirectPath: '/oidc-error' },`
|
|
@@ -1792,7 +1891,7 @@ export function webConformanceTestTemplate(corePkg, errorPageMode = 'html', feat
|
|
|
1792
1891
|
].join('\\n'),
|
|
1793
1892
|
);
|
|
1794
1893
|
});`;
|
|
1795
|
-
const exportPublicJwkImport = features.requestObject
|
|
1894
|
+
const exportPublicJwkImport = features.requestObject || features.idJag
|
|
1796
1895
|
? `import { exportPublicJwk } from '${corePkg}';\n`
|
|
1797
1896
|
: '';
|
|
1798
1897
|
const nodeAdapterImport = includeNodeAdapterContract
|
|
@@ -1867,14 +1966,25 @@ import { parConfig } from './routes/par.js';`
|
|
|
1867
1966
|
? `
|
|
1868
1967
|
import { tokenExchangeConfig } from './routes/token.js';`
|
|
1869
1968
|
: '';
|
|
1870
|
-
|
|
1969
|
+
const idJagConformanceImports = features.idJag
|
|
1970
|
+
? `
|
|
1971
|
+
import { idJagConfig } from './routes/token.js';`
|
|
1972
|
+
: '';
|
|
1973
|
+
const cibaConformanceImports = features.ciba
|
|
1974
|
+
? `
|
|
1975
|
+
import { cibaAuthenticationRequestStore } from './store.js';`
|
|
1976
|
+
: '';
|
|
1977
|
+
const vitestNames = features.ciba
|
|
1978
|
+
? 'describe, it, expect, beforeAll, afterEach'
|
|
1979
|
+
: 'describe, it, expect, beforeAll';
|
|
1980
|
+
return `import { ${vitestNames} } from 'vitest';
|
|
1871
1981
|
import type { SigningKeyProvider, SigningKey } from '${corePkg}';
|
|
1872
1982
|
${exportPublicJwkImport}import { createApp, validateSigningKeySet } from './app.js';
|
|
1873
1983
|
import { createInMemoryClientResolver, type RegisteredClient } from './config.js';
|
|
1874
|
-
import { accessTokenStore, authSessionStore, consentStore, createJsonProviderStores
|
|
1984
|
+
import { accessTokenStore, authSessionStore, consentStore, createJsonProviderStores,${onlineRefreshTokenConformanceStoreImport(features)} refreshTokenStore, transactionStore, type JsonStoreBackend } from './store.js';
|
|
1875
1985
|
import { consentResolver } from './resolvers.js';
|
|
1876
1986
|
import { defaultViews } from './views.js';
|
|
1877
|
-
import { renderView } from './views.js';${parConformanceImports}${tokenExchangeConformanceImports}
|
|
1987
|
+
import { renderView } from './views.js';${parConformanceImports}${tokenExchangeConformanceImports}${idJagConformanceImports}${cibaConformanceImports}${customScopeConformanceImport}
|
|
1878
1988
|
${nodeAdapterImport}
|
|
1879
1989
|
|
|
1880
1990
|
const REDIRECT_URI = 'http://localhost:3000/callback';
|
|
@@ -2050,7 +2160,7 @@ ${responseModesSupportedExpectation}
|
|
|
2050
2160
|
});
|
|
2051
2161
|
});
|
|
2052
2162
|
|
|
2053
|
-
${scopesSupportedConformanceTest(features)}
|
|
2163
|
+
${scopesSupportedConformanceTest(features, scopes)}
|
|
2054
2164
|
// OIDC Core 1.0 §2 / §3.1.3.6 + Discovery 1.0 §3: claims_supported advertises
|
|
2055
2165
|
// the claims the OP can supply, including the ID Token protocol claims
|
|
2056
2166
|
// (auth_time/nonce/acr/amr/azp/at_hash). The full list is pinned so dropping
|
|
@@ -2285,15 +2395,18 @@ ${nonRedirectErrorTest}
|
|
|
2285
2395
|
});
|
|
2286
2396
|
});
|
|
2287
2397
|
});
|
|
2288
|
-
${transactionBindingConformanceBlock(features)}${customViewConformanceTestBlock()}${endpointBehaviorConformanceBlock(features)}${idTokenHintConformanceBlock()}${consentWithdrawalConformanceBlock(features)}${reuseFlowConformanceTestBlock(features)}${revocationDisabledConformanceBlock(features)}${tokenEndpointAuthMethodsConformanceBlock()}${pkceDisabledConformanceBlock(features)}${parConformanceBlock(features)}${tokenExchangeConformanceBlock(features)}${deviceAuthorizationConformanceBlock(features)}${jarmConformanceBlock(features, jarmConsentResponseMode)}${consentDecisionConformanceBlock()}});
|
|
2398
|
+
${transactionBindingConformanceBlock(features)}${customViewConformanceTestBlock()}${internalRedirectOriginConformanceBlock()}${endpointBehaviorConformanceBlock(features)}${idTokenHintConformanceBlock()}${consentWithdrawalConformanceBlock(features)}${reuseFlowConformanceTestBlock(features)}${onlineRefreshTokenConformanceBlock(features)}${revocationDisabledConformanceBlock(features)}${tokenEndpointAuthMethodsConformanceBlock()}${pkceDisabledConformanceBlock(features)}${parConformanceBlock(features)}${tokenExchangeConformanceBlock(features)}${idJagConformanceBlock(features)}${deviceAuthorizationConformanceBlock(features)}${cibaConformanceBlock(features)}${jarmConformanceBlock(features, jarmConsentResponseMode)}${jwtIntrospectionResponseConformanceBlock(features)}${consentDecisionConformanceBlock()}${customScopeConformanceBlock(scopes)}});
|
|
2289
2399
|
`;
|
|
2290
2400
|
}
|
|
2291
|
-
function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt') {
|
|
2401
|
+
function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAULT_FEATURES, includeNodeAdapterContract = false, jarmConsentResponseMode = 'jwt', scopes = []) {
|
|
2292
2402
|
const consentFeatures = jarmConsentResponseMode === 'plain' ? { ...features, jarm: false } : features;
|
|
2293
2403
|
return [
|
|
2294
2404
|
{ path: 'app.ts', content: webAppTemplate(corePkg, features) },
|
|
2295
2405
|
{ path: 'web-router.ts', content: webRouterTemplate() },
|
|
2296
2406
|
{ path: 'config.ts', content: configTemplate(corePkg, features) },
|
|
2407
|
+
...(scopes.length > 0
|
|
2408
|
+
? [{ path: 'scopes.ts', content: customScopesTemplate(scopes, features) }]
|
|
2409
|
+
: []),
|
|
2297
2410
|
{
|
|
2298
2411
|
path: 'store.ts',
|
|
2299
2412
|
content: storeTemplate(corePkg, features),
|
|
@@ -2303,11 +2416,11 @@ function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAU
|
|
|
2303
2416
|
content: resolversTemplate(corePkg, features).replace('through Hono context', 'through the generated request context'),
|
|
2304
2417
|
},
|
|
2305
2418
|
{ path: 'views.ts', content: viewsTemplate(features) },
|
|
2306
|
-
{ path: 'routes/authorize.ts', content: toWebRouteTemplate(authorizeRouteTemplate(corePkg, features)) },
|
|
2419
|
+
{ path: 'routes/authorize.ts', content: toWebRouteTemplate(authorizeRouteTemplate(corePkg, features, scopes)) },
|
|
2307
2420
|
{ path: 'routes/token.ts', content: toWebRouteTemplate(tokenRouteTemplate(corePkg, features)) },
|
|
2308
2421
|
{ path: 'routes/userinfo.ts', content: toWebRouteTemplate(userinfoRouteTemplate(corePkg)) },
|
|
2309
2422
|
...(features.introspection
|
|
2310
|
-
? [{ path: 'routes/introspection.ts', content: toWebRouteTemplate(introspectionRouteTemplate(corePkg)) }]
|
|
2423
|
+
? [{ path: 'routes/introspection.ts', content: toWebRouteTemplate(introspectionRouteTemplate(corePkg, features)) }]
|
|
2311
2424
|
: []),
|
|
2312
2425
|
...(features.revocation
|
|
2313
2426
|
? [{ path: 'routes/revocation.ts', content: toWebRouteTemplate(revocationRouteTemplate(corePkg)) }]
|
|
@@ -2319,11 +2432,23 @@ function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAU
|
|
|
2319
2432
|
? [
|
|
2320
2433
|
{
|
|
2321
2434
|
path: 'routes/device-authorization.ts',
|
|
2322
|
-
content: toWebRouteTemplate(deviceAuthorizationRouteTemplate(corePkg, features)),
|
|
2435
|
+
content: toWebRouteTemplate(deviceAuthorizationRouteTemplate(corePkg, features, scopes)),
|
|
2323
2436
|
},
|
|
2324
2437
|
{
|
|
2325
2438
|
path: 'routes/device.ts',
|
|
2326
|
-
content: toWebRouteTemplate(deviceVerificationRouteTemplate(corePkg)),
|
|
2439
|
+
content: toWebRouteTemplate(deviceVerificationRouteTemplate(corePkg, scopes)),
|
|
2440
|
+
},
|
|
2441
|
+
]
|
|
2442
|
+
: []),
|
|
2443
|
+
...(features.ciba
|
|
2444
|
+
? [
|
|
2445
|
+
{
|
|
2446
|
+
path: 'routes/backchannel-authentication.ts',
|
|
2447
|
+
content: toWebRouteTemplate(backchannelAuthenticationRouteTemplate(corePkg, features, scopes)),
|
|
2448
|
+
},
|
|
2449
|
+
{
|
|
2450
|
+
path: 'routes/ciba-verification.ts',
|
|
2451
|
+
content: toWebRouteTemplate(cibaVerificationRouteTemplate(corePkg, scopes)),
|
|
2327
2452
|
},
|
|
2328
2453
|
]
|
|
2329
2454
|
: []),
|
|
@@ -2331,27 +2456,27 @@ function webCoreGeneratedFiles(corePkg, errorPageMode = 'html', features = DEFAU
|
|
|
2331
2456
|
? [{ path: 'routes/jarm.ts', content: jarmConfigTemplate() }]
|
|
2332
2457
|
: []),
|
|
2333
2458
|
{ path: 'routes/jwks.ts', content: toWebRouteTemplate(jwksRouteTemplate(corePkg)) },
|
|
2334
|
-
{ path: 'routes/discovery.ts', content: toWebRouteTemplate(discoveryRouteTemplate(corePkg, features)) },
|
|
2459
|
+
{ path: 'routes/discovery.ts', content: toWebRouteTemplate(discoveryRouteTemplate(corePkg, features, scopes)) },
|
|
2335
2460
|
{ path: 'routes/login.ts', content: toWebRouteTemplate(loginRouteTemplate(corePkg, features)) },
|
|
2336
|
-
{ path: 'routes/consent.ts', content: toWebRouteTemplate(consentRouteTemplate(corePkg, consentFeatures)) },
|
|
2461
|
+
{ path: 'routes/consent.ts', content: toWebRouteTemplate(consentRouteTemplate(corePkg, consentFeatures, scopes)) },
|
|
2337
2462
|
{
|
|
2338
2463
|
path: 'conformance.test.ts',
|
|
2339
|
-
content: webConformanceTestTemplate(corePkg, errorPageMode, features, includeNodeAdapterContract, jarmConsentResponseMode),
|
|
2464
|
+
content: webConformanceTestTemplate(corePkg, errorPageMode, features, includeNodeAdapterContract, jarmConsentResponseMode, scopes),
|
|
2340
2465
|
},
|
|
2341
2466
|
];
|
|
2342
2467
|
}
|
|
2343
2468
|
function toNextJsModuleImports(content) {
|
|
2344
2469
|
return content.replaceAll(/(from\s+['"](?:\.{1,2}\/[^'"]+))\.js(['"])/g, '$1$2');
|
|
2345
2470
|
}
|
|
2346
|
-
export function webGeneratedFiles(corePkg, applyTemplate, features = DEFAULT_FEATURES) {
|
|
2471
|
+
export function webGeneratedFiles(corePkg, applyTemplate, features = DEFAULT_FEATURES, scopes = []) {
|
|
2347
2472
|
return [
|
|
2348
|
-
...webCoreGeneratedFiles(corePkg, 'html', features, true),
|
|
2473
|
+
...webCoreGeneratedFiles(corePkg, 'html', features, true, 'jwt', scopes),
|
|
2349
2474
|
{ path: 'apply.ts', content: applyTemplate },
|
|
2350
2475
|
{ path: 'node-adapter.ts', content: nodeAdapterTemplate() },
|
|
2351
2476
|
];
|
|
2352
2477
|
}
|
|
2353
|
-
export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
2354
|
-
const internalFiles = webCoreGeneratedFiles(corePkg, 'redirect', features, false, 'plain').map((file) => ({
|
|
2478
|
+
export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES, scopes = []) {
|
|
2479
|
+
const internalFiles = webCoreGeneratedFiles(corePkg, 'redirect', features, false, 'plain', scopes).map((file) => ({
|
|
2355
2480
|
path: `_oidc-provider/${file.path}`,
|
|
2356
2481
|
content: toNextJsModuleImports(file.content),
|
|
2357
2482
|
}));
|
|
@@ -2424,6 +2549,26 @@ export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
|
2424
2549
|
},
|
|
2425
2550
|
]
|
|
2426
2551
|
: []),
|
|
2552
|
+
...(features.ciba
|
|
2553
|
+
? [
|
|
2554
|
+
{
|
|
2555
|
+
path: 'backchannel_authentication/route.ts',
|
|
2556
|
+
content: nextJsEndpointRouteTemplate('../_oidc-provider/runtime', ['POST', 'OPTIONS']),
|
|
2557
|
+
},
|
|
2558
|
+
{
|
|
2559
|
+
path: 'ciba/route.ts',
|
|
2560
|
+
content: nextJsEndpointRouteTemplate('../_oidc-provider/runtime', ['GET']),
|
|
2561
|
+
},
|
|
2562
|
+
{
|
|
2563
|
+
path: 'ciba/login/route.ts',
|
|
2564
|
+
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', ['POST']),
|
|
2565
|
+
},
|
|
2566
|
+
{
|
|
2567
|
+
path: 'ciba/approve/route.ts',
|
|
2568
|
+
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', ['POST']),
|
|
2569
|
+
},
|
|
2570
|
+
]
|
|
2571
|
+
: []),
|
|
2427
2572
|
{
|
|
2428
2573
|
path: '.well-known/jwks.json/route.ts',
|
|
2429
2574
|
content: nextJsEndpointRouteTemplate('../../_oidc-provider/runtime', [
|
|
@@ -2440,8 +2585,8 @@ export function nextJsGeneratedFiles(corePkg, features = DEFAULT_FEATURES) {
|
|
|
2440
2585
|
},
|
|
2441
2586
|
{ path: 'login/page.tsx', content: nextJsLoginPageTemplate(corePkg, features) },
|
|
2442
2587
|
{ path: 'login/actions.ts', content: nextJsLoginActionTemplate(corePkg, features) },
|
|
2443
|
-
{ path: 'consent/page.tsx', content: nextJsConsentPageTemplate(corePkg, features) },
|
|
2444
|
-
{ path: 'consent/actions.ts', content: nextJsConsentActionTemplate(corePkg, features) },
|
|
2588
|
+
{ path: 'consent/page.tsx', content: nextJsConsentPageTemplate(corePkg, features, scopes) },
|
|
2589
|
+
{ path: 'consent/actions.ts', content: nextJsConsentActionTemplate(corePkg, features, scopes) },
|
|
2445
2590
|
{ path: 'oidc-error/page.tsx', content: nextJsAuthorizationErrorPageTemplate() },
|
|
2446
2591
|
{ path: 'oidc-error/error.tsx', content: nextJsAuthorizationErrorBoundaryTemplate() },
|
|
2447
2592
|
];
|
|
@@ -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/generator.d.ts
CHANGED
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAK7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAoBjE;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
package/dist/generator.js
CHANGED
|
@@ -2,13 +2,13 @@ import { getGenerator, getAvailableFrameworks } from './frameworks/index.js';
|
|
|
2
2
|
import { DEFAULT_FEATURES } from './features.js';
|
|
3
3
|
const DEFAULT_CORE_PACKAGE = '@maronn-openid-connect/core';
|
|
4
4
|
export function generate(options) {
|
|
5
|
-
const { framework, outputDir, corePackageName = DEFAULT_CORE_PACKAGE, features = { ...DEFAULT_FEATURES }, } = options;
|
|
5
|
+
const { framework, outputDir, corePackageName = DEFAULT_CORE_PACKAGE, features = { ...DEFAULT_FEATURES }, scopes = [], } = options;
|
|
6
6
|
const generator = getGenerator(framework);
|
|
7
7
|
if (!generator) {
|
|
8
8
|
const available = getAvailableFrameworks().join(', ');
|
|
9
9
|
throw new Error(`Unknown framework: "${framework}". Available frameworks: ${available}`);
|
|
10
10
|
}
|
|
11
|
-
const files = generator.generate({ outputDir, corePackageName, features });
|
|
11
|
+
const files = generator.generate({ outputDir, corePackageName, features, scopes });
|
|
12
12
|
return { files, framework };
|
|
13
13
|
}
|
|
14
14
|
export { getAvailableFrameworks };
|