我想在我的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令牌未找到错误。我知道当我使用邮递员时,这确实有效,所以我对为什么我遇到这个问题感到困惑。
.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上链接此问题
基本上,你可以使用
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及其各自的包装器类型