From 30c6d21d8c0f693aeb7cf1672235e0be04e29ef5 Mon Sep 17 00:00:00 2001 From: a20688392 Date: Fri, 25 Aug 2023 18:06:02 +0800 Subject: [PATCH] refactor: add swagger securitySchemes --- src/main.ts | 9 ++++++++- src/swagger/generate-swagger-file.ts | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main.ts b/src/main.ts index c580c61..75bb3f5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,17 +1,24 @@ import type { INestApplication } from "@nestjs/common"; import { NestFactory } from "@nestjs/core"; import { DocumentBuilder, SwaggerModule } from "@nestjs/swagger"; +import { type SecuritySchemeObject } from "@nestjs/swagger/dist/interfaces/open-api-spec.interface"; import { AppModule } from "./app.module"; import { validationPipe } from "./pipes/validation-pipe"; +const securitySchemes: SecuritySchemeObject = { + bearerFormat: "JWT", + scheme: "bearer", + type: "http", +}; + function setupSwagger(app: INestApplication) { const builder = new DocumentBuilder(); const config = builder .setTitle(process.env.APP_SWAGGER_Title ?? "Cophr") .setDescription(process.env.APP_SWAGGER_Description ?? "") .setVersion(process.env.APP_SWAGGER_Version ?? "N/A") - .addBearerAuth() + .addBearerAuth(securitySchemes) .build(); const document = SwaggerModule.createDocument(app, config); diff --git a/src/swagger/generate-swagger-file.ts b/src/swagger/generate-swagger-file.ts index 93f3ce6..f01998e 100644 --- a/src/swagger/generate-swagger-file.ts +++ b/src/swagger/generate-swagger-file.ts @@ -1,9 +1,16 @@ import { NestFactory } from "@nestjs/core"; import { DocumentBuilder, SwaggerModule } from "@nestjs/swagger"; +import { type SecuritySchemeObject } from "@nestjs/swagger/dist/interfaces/open-api-spec.interface"; import * as fs from "fs"; import { SwaggerGenerateModule } from "./swagger.module"; +const securitySchemes: SecuritySchemeObject = { + bearerFormat: "JWT", + scheme: "bearer", + type: "http", +}; + async function generateSwaggerJson() { const app = await NestFactory.create(SwaggerGenerateModule); @@ -11,6 +18,7 @@ async function generateSwaggerJson() { .setTitle(process.env.APP_SWAGGER_Title ?? "Cophr") .setDescription(process.env.APP_SWAGGER_Description ?? "") .setVersion(process.env.APP_SWAGGER_Version ?? "N/A") + .addBearerAuth(securitySchemes) .build(); const document = SwaggerModule.createDocument(app, config);