Ray*_*lli 2 csrf swagger swagger-ui swashbuckle asp.net-core
我有一个 .NET Core 3.1 Web API,我想为其添加 XSRF 保护。X-XSRF-TOKEN因此,我现在需要在所有端点上的 HTTP 标头中添加防伪令牌,如此处所述。JavaScript 客户端通过访问端点来获取令牌/antiforgerytoken,该端点设置XSRF-TOKEN包含该令牌的 cookie。这一切都很好,但正如人们所期望的那样,“尝试一下!” Swagger UI 中的功能不再起作用,因为请求缺少X-XSRF-TOKENHTTP 标头。有没有办法让 SwaggerUI 自动调用端点/antiforgerytoken并将令牌包含在正在执行的请求中?
在 Swagger UI 上,可以通过在requestInterceptor配置上设置 a 来支持这一点,该配置是拦截和修改传出请求(包括“尝试一下”请求)的功能。请参阅Swagger UI 存储库中的此评论以及有关 Swagger UI 配置的自述文件。
但是,从最新的稳定版本 (5.6.3) 开始,Swashbuckle.AspNetCore.SwaggerUI尚不支持 C# 中的设置。requestInterceptor有一个 PR添加了对拦截器的支持,它已经合并但尚未发布。因此,如果您正在使用Swashbuckle.AspNetCore.SwaggerUI,您现在的选择是等待下一个版本,或者在下一个正式版本之前从源代码构建本地版本。
| 归档时间: |
|
| 查看次数: |
3884 次 |
| 最近记录: |