当前位置: 首页 > 知识库问答 >
问题:

nestjs swagger支持cookie认证吗?

党博超
2023-03-14

我想在我的swagger文档中包含cookie授权,但我似乎没有取得任何进展。

根据https://docs.nestjs.com/openapi/security在nestjs-swagger中似乎支持cookie身份验证。

但是,根据Swagger UI和编辑器的https://Swagger . io/docs/specification/authentic ation/cookie-authentic ation/

我不确定是我没有正确实现cookie验证,还是它不被支持。

下面是我正在尝试的实现。

在DocumentBuilder()中:

.addCookieAuth('authCookie')

在控制器中:

@ApiCookieAuth()

我尝试将我的cookie名“authCookie”添加到@ ApiCookieAuth()标记中。我也尝试过使用< code >。addCookieAuth('authCookie ',{type: 'apiKey ',in: 'cookie'})

无论我尝试哪种方式,我都会收到一个JWT令牌未找到错误。我知道当我使用邮递员时,这确实有效,所以我对为什么我遇到这个问题感到困惑。

共有2个答案

呼延渝
2023-03-14
.addCookieAuth('authCookie', {
  type: 'http',
  in: 'Header',
  scheme: 'Bearer'
})

以及控制器中的此类装饰器:

@ApiCookieAuth()
.addCookieAuth(cookieName?: string, options?: SecuritySchemeObject, securityName?: string)

指定< code>securityName后,您还需要将它提供给一个contoller decorator:

DocumentBuilder中:

.addCookieAuth('auth-cookie', {
  type: 'http',
  in: 'Header',
  scheme: 'Bearer'
},
'in-app-cookie-name')

在控制器中:

@ApiCookieAuth('in-app-cookie-name')

在GitHub上链接此问题

卫嘉谊
2023-03-14

基本上,你可以使用

  SwaggerModule.setup('swagger', app, document, {
    swaggerOptions: {
      requestInterceptor: (req) => {
        req.credentials = 'include';
        return req;
      },
    },
  });

请注意,手动设置cookie值不会对获取请求产生任何影响。

它与<code>swagger客户端NestJs

 类似资料:
  • 请参考:http://www.kancloud.cn/manual/thinkphp/1873

  • 接下来我们将添加外部认证支持。这真的很简单,因为你所需要的实际上只是一个 ASP.NET Core 兼容的认证中间件。 ASP.NET Core 自身已经承载了对 Google,Facebook,Twitter,Microsoft 账户 以及 OpenID Connect 的支持。另外你可以在 这里 找到更多其他的认证提供程序。 添加 Google 支持 为了能够使用 Google 进行身份验证,

  • 我们有一个weblogic应用程序,需要支持来自多个域(例如“foo.com”和“bar.com”)的服务。一旦用户在其中一个域上启动会话,他们就可以访问主域之外的子域(例如“a.foo.com”、“b.foo.com”),并在所有这些子域之间共享该会话。如果用户从“foo.com”跳到“bar.com”,他们将丢失会话,这很好。 我们能够在JBoss/Tomcat上成功实现这一点,方法是自定义“

  • 那么有没有计划在JAX-RS中添加验证组呢?

  • scala支持JSR-303验证吗? 如果是的话,你能写一个例子吗? 如果没有-是否有变通方法在scala类上运行JSR-303验证?

  • 在Bean验证规范(JSR303和JSR349)和文档中,都没有提到@digits对Double或Float类型的支持。它只说支持以下类型: BigDecimal BigInteger CharSequence 字节、short、int、long及其各自的包装器类型