src/issuer/issuance/oid4vci/authorization/authorization.module.ts
dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AuthorizationModule cluster_AuthorizationModule_imports cluster_AuthorizationModule_exports cluster_AuthorizationModule_providers ConfigurationModule ConfigurationModule AuthorizationModule AuthorizationModule ConfigurationModule->AuthorizationModule CryptoModule CryptoModule CryptoModule->AuthorizationModule Oid4vpModule Oid4vpModule Oid4vpModule->AuthorizationModule PresentationsModule PresentationsModule PresentationsModule->AuthorizationModule SessionModule SessionModule SessionModule->AuthorizationModule TrustModule TrustModule TrustModule->AuthorizationModule AuthorizationServersService AuthorizationServersService AuthorizationModule->AuthorizationServersService AuthorizeService AuthorizeService AuthorizationModule->AuthorizeService ChainedAsService ChainedAsService AuthorizationModule->ChainedAsService ChainedAsVpService ChainedAsVpService AuthorizationModule->ChainedAsVpService InteractiveAuthorizationService InteractiveAuthorizationService AuthorizationModule->InteractiveAuthorizationService AuthorizationServersService AuthorizationServersService AuthorizationServersService->AuthorizationModule AuthorizeService AuthorizeService AuthorizeService->AuthorizationModule ChainedAsService ChainedAsService ChainedAsService->AuthorizationModule ChainedAsVpService ChainedAsVpService ChainedAsVpService->AuthorizationModule InteractiveAuthorizationService InteractiveAuthorizationService InteractiveAuthorizationService->AuthorizationModule

Description

Authorization Module - Groups the OID4VCI authorization server implementations.

Bundles the four authorization-server variants and their shared logic:

  • authorize — the issuer-native OAuth 2.0 / OID4VCI authorization server (authorization code, pre-authorized code, refresh token, interactive auth).
  • authorization-servers — managed OID4VP-backed authorization servers.
  • chained-as — chained authorization server delegating to an upstream OIDC provider.
  • chained-as-vp — chained authorization server backed by an OID4VP presentation flow.

The authorization-server services are exported so the surrounding issuance components (e.g. metadata and well-known endpoints) can consume them.

Relationships

import { HttpModule } from "@nestjs/axios";
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { CryptoModule } from "../../../../crypto/crypto.module";
import { SessionModule } from "../../../../session/session.module";
import { TrustModule } from "../../../../shared/trust/trust.module";
import { Oid4vpModule } from "../../../../verifier/oid4vp/oid4vp.module";
import { PresentationsModule } from "../../../../verifier/presentations/presentations.module";
import { ConfigurationModule } from "../../../configuration/configuration.module";
import { InteractiveAuthSessionEntity } from "../entities/interactive-auth-session.entity";
import { NonceEntity } from "../entities/nonces.entity";
import { AuthorizationServersController } from "./authorization-servers/authorization-servers.controller";
import { AuthorizationServersService } from "./authorization-servers/authorization-servers.service";
import { AuthorizeController } from "./authorize/authorize.controller";
import { AuthorizeService } from "./authorize/authorize.service";
import { InteractiveAuthorizationController } from "./authorize/interactive-authorization.controller";
import { InteractiveAuthorizationService } from "./authorize/interactive-authorization.service";
import { ChainedAsController } from "./chained-as/chained-as.controller";
import { ChainedAsService } from "./chained-as/chained-as.service";
import { ChainedAsVpController } from "./chained-as-vp/chained-as-vp.controller";
import { ChainedAsVpService } from "./chained-as-vp/chained-as-vp.service";
import { ChainedAsSessionEntity } from "./shared/entities/chained-as-session.entity";

/**
 * Authorization Module - Groups the OID4VCI authorization server implementations.
 *
 * Bundles the four authorization-server variants and their shared logic:
 * - `authorize` — the issuer-native OAuth 2.0 / OID4VCI authorization server
 *   (authorization code, pre-authorized code, refresh token, interactive auth).
 * - `authorization-servers` — managed OID4VP-backed authorization servers.
 * - `chained-as` — chained authorization server delegating to an upstream OIDC provider.
 * - `chained-as-vp` — chained authorization server backed by an OID4VP presentation flow.
 *
 * The authorization-server services are exported so the surrounding issuance
 * components (e.g. metadata and well-known endpoints) can consume them.
 */
@Module({
    imports: [
        CryptoModule,
        ConfigurationModule,
        Oid4vpModule,
        PresentationsModule,
        SessionModule,
        HttpModule,
        TrustModule,
        TypeOrmModule.forFeature([
            NonceEntity,
            InteractiveAuthSessionEntity,
            ChainedAsSessionEntity,
        ]),
    ],
    controllers: [
        AuthorizeController,
        InteractiveAuthorizationController,
        ChainedAsController,
        AuthorizationServersController,
        ChainedAsVpController,
    ],
    providers: [
        AuthorizeService,
        InteractiveAuthorizationService,
        ChainedAsService,
        AuthorizationServersService,
        ChainedAsVpService,
    ],
    exports: [
        AuthorizeService,
        InteractiveAuthorizationService,
        ChainedAsService,
        AuthorizationServersService,
        ChainedAsVpService,
    ],
})
export class AuthorizationModule {}

results matching ""

    No results matching ""