我有一个XSRFCore3.1WebAPI,我想在其中添加.NET保护。因此,我现在需要在here描述的所有端点上的X-XSRF-TOKEN HTTP标头中包含一个防伪令牌。JavaScript客户端通过访问/antiforgerytoken端点来获取令牌,这将设置包含令牌的XSRF-TOKEN cookie。这一切都很好,但正如人们所预期的那样,“试试吧!”Swagger UI中的功能不再起作用,因为请求缺少X-XSRF-TOKEN HTTP标头。有没有办法让SwaggerUI自动调用/antiforgerytoken端点并将令牌包含在正在执行的请求中?
发布于 2021-02-04 18:08:36
在Swagger UI上,可以通过在配置上设置requestInterceptor来支持这一点,该配置是一个拦截和修改传出请求的功能,包括“试用”请求。请参阅Swagger UI存储库中的this comment和Swagger UI上的README配置。
但是,从最新的稳定版本(5.6.3)开始,Swashbuckle.AspNetCore.SwaggerUI还不支持在C#中设置requestInterceptor。有一个this PR添加了对拦截器的支持,它已经合并了,但还没有发布。因此,如果你正在使用Swashbuckle.AspNetCore.SwaggerUI,你现在的选择是等待下一个版本,或者在下一个正式版本之前从源代码构建一个本地版本。
https://stackoverflow.com/questions/66035690
复制相似问题