无法使用 Springfox 发送授权承载令牌

2024-01-27

我无法理解为什么“Authorization: Bearer __”没有使用 Springfox 2.5.0 在我的 api 中发送。我有以下配置:

private ApiKey apiKey() {
        return new ApiKey(
                "Authorization", // name: My key - Authorization
                "api_key", // keyname: api_key
                "header");
    }

@Bean
    SecurityConfiguration security() {
        return new SecurityConfiguration(
                null, null, null,
                "Docserver2_fwk", // app name
                "BEARER", // api key value
                ApiKeyVehicle.HEADER, "Authorization", ",");
    }

enter image description here And the curl being sent is:

看来我无法在 springfox (2.5.0) 中发送“授权:不记名令牌”,这可能吗?这是一个已知问题吗?

类似问题:https://github.com/springfox/springfox/issues/1812 https://github.com/springfox/springfox/issues/1812

PS:OpenAPI 3.0允许“承载”格式,示例:https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#jwt-bearer-sample https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#jwt-bearer-sample

Thanks.


一个简单的解决方法是输入Bearer而不是在其后粘贴令牌。您最终将得到一个文本框,其中包含:

Bearer <token>

我希望有一种更自动化的方式。但目前看来,文本框中的内容似乎已简单地粘贴到给定标头条目的值部分中。我想前缀的原因Bearer不会自动注入是因为 Swagger 会对用户使用哪种身份验证非常有意见!

@Configuration
@EnableSwagger2
class SwaggerConfig {

    @Bean
    Docket api() {

        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build()
                .securitySchemes(securitySchemes())
    }

    private static ArrayList<? extends SecurityScheme> securitySchemes() {

        return [new ApiKey("Bearer", "Authorization", "header")]
    }
}

REST 端点方法:

@GetMapping("/count")
@ApiOperation(value = "Count the number of entities associated with resource name. This operation does not requires any role." , authorizations = [@Authorization(value = "Bearer")])
def count() {

    count(service)
}

The curl登录前命令:

curl -X GET "http://localhost:8080/category/count" -H "accept: */*"

回复:

{
  "timestamp": "2018-10-29T15:13:02.388+0000",
  "status": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "path": "/category/count"
}

The curl登录后命令:

curl -X GET "http://localhost:8080/category/count" -H "accept: */*" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."

回复:

{
  "message": "There are 0 entities",
  "count": 0
}

注意:我的代码是用 Groovy 编写的,如果您使用标准 Java,我相信您可以翻译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Springfox 发送授权承载令牌 的相关文章

  • 使用 Hibernate 或 Spring 打印 DBMS_OUTPUT.put_line

    我想知道 Hibernate 或 Spring 或任何第 3 方库是否提供将 DBMS OUTPUT put line 消息直接打印到 system out 或日志文件的能力 目的是在控制台中同时显示 PLSQL 日志消息和 java 日志
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 为什么Java HashMap的最大容量是1<<30而不是1<<31?

    Why is the maximum capacity of a Java HashMap 1 lt lt 30 and not 1 lt lt 31 even though the max value of an int is 231 1
  • 寻找 WebElements,最佳实践

    在我们当前的自动化 使用 Selenium WebDriver Java 中 我们使用 FindBy very广泛地 例如 FindBy css a name bcrumb protected List
  • 如何在JUnit测试中将MockWebServer端口设置为WebClient?

    我在用着spring boot with WebClient 它被自动装配为一个 bean 问题 写一个junit集成测试 我必须使用okhttpMockWebServer 该模拟始终在随机端口上启动 例如localhost 14321 N
  • java“类文件包含错误的类”错误

    我正在尝试制作一个控制台应用程序来测试我的网络服务 我成功部署了一个网络服务http localhost 8080 WS myWS http localhost 8080 WS myWS我用 wsimport 制作了代理类 wsimport
  • Stream#limit 返回的元素是否可以少于预期?

    如果流s下面至少有n元素 流在什么情况下sLimit可能少于n元素 如果有的话 Stream sLimit s limit n 提问原因 在这个答案 https stackoverflow com a 28082107 829571 我读到
  • 使用java读取Excel工作表的单列

    我有一张 Excel 表格 我想编写一个方法 该方法将参数作为要读取的列号 并返回一个由该列中的所有数据组成的数组 然后将该列元素放置在 xml 工作表中 我怎样才能编写一个方法来做到这一点 使用 Apache POI 您可以在他们的使用页
  • 在Java中使用==而不是equals来比较不可变对象可以吗

    考虑调用静态工厂方法 valueOf 的两个 Integer 类型的引用 如下所示 Integer a Integer valueOf 10 Integer b Integer valueOf 10 考虑到Integer是不可变的 使用 而
  • 将 @RequestLine 与 Feign 一起使用

    我有一个工作 Feign 接口定义为 FeignClient content link service public interface ContentLinkServiceClient RequestMapping method Requ
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • 这个finally子句包含close()调用的原因是什么

    我正在学习在线java课程 使用 Java 编程简介 http math hws edu javanotes index html 在 I O 章节中 引入了以下代码 顺便说一下 在本程序的末尾 您将发现我们第一个有用的 try 语句中的
  • 使用 Mockitos 传递参数化输入

    我正在使用 Mockito 进行单元测试 我想知道是否可以使用 Junit 测试中的方式发送参数化输入参数 e g InjectMocks MockClass mockClass new MockClass Test public void
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 如何在jpa中共享EntityManagerFactory

    我是 jpa 的新手 这是场景 我正在开发一个 Web 应用程序 其中 多个用户可以登录 当 user1 注销时 我正在使用下面的代码 public static void closeEntityManagerFactory if enti
  • JBoss 5 截断 base64 cookie 字符串的尾部 =

    从 JBoss 4 升级到 JBoss 5 后 我注意到最烦人的回归 它截断 base64 cookie 值的尾部等号 我花了很长时间才明白问题不是我的代码而是 JBoss 的 我用 google 搜索了一下 发现这是一个已知的问题issu
  • 从 AJP 连接器请求中检索 Shibboleth 属性

    当我在 Apache 上运行 Shibboleth 身份验证时遇到了一个奇怪的问题 当 Tomcat7 在后端运行时 Apache 通过 mod proxy ajp 发送所有内容 Shibboleth 的参数也是如此 In the 文档 h
  • 在 Vavr 中结合任一者?

    我有几个Vavr https www vavr io Either https www vavr io vavr docs either的 我想调用一个函数Right每个 Either 的值 例如 Either
  • 错误:运算符不存在:整数 = 字符变化,使用 Postgres 8.2

    我有一个用旧版本的 Eclipse Ganymede 如果我没记错的话 开发的 Java EE Web 应用程序 我最近迁移到 Kubuntu 12 04 LTS 并将应用程序迁移到 Eclipse Kepler 我从 Eclipse 网站

随机推荐

  • Android:使用贝塞尔曲线进行数字签名

    I am trying two draw digital signature using Bezier as show in above image when i touch and try to draw line then the re
  • 使用 Djoser 和 Django Rest Framework 激活帐户

    我在我的项目中使用 Djoser 进行身份验证 4天多来一直在努力添加电子邮件激活 但似乎未能很好地抓住它 因为文档对我来说有点难以理解 这是我的代码设置 py change auth model to custom model AUTH
  • 简单的多层神经网络实现[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 不久前 我开始了机器学习的冒险 在我学习的最后两年期间 我读了很多书 写了很多机器学习算法的代码 除了神经网络 这超出了我的范围 我对这个
  • HQL 与 SQL/Hibernate netbeans HQL 编辑器

    我正在自学休眠 并且很困惑为什么我不能只编写简单的 SQL 查询 我发现它比普通 SQL 我习惯的 使用起来更混乱 另外 我发现 NetBeans HQL 编辑器非常烦人 对我来说 在 HQL 中生成正确的查询比较困难 然后在 SQL 中生
  • 如何使用 Doxygen 和 Doxygen::Filter::Perl 生成 Perl 子例程的文档?

    我正在尝试弄清楚如何使用Doxygen Filter Perl https metacpan org pod Doxygen Filter Perl生成 Perl 文件的文档 我从一个非常简单的文件开始只是为了看看我是否可以让它工作 tes
  • Angular2 中的类型“{}”不存在属性

    我已经使用 http 调用获取数据 但是 我在编译时显示了上述错误 用户组件 ts this user saveUsers model then data gt if data success true this router naviga
  • 控制器:ctrlfmt 格式错误的控制器字符串“”。必须将 `__name__ 匹配为 __id__` 或 `__name__`

    在 rootes js 中 state main mydata url my data templateUrl app views pages my data html controller mydataCtrl 控制器 controlle
  • 如何关闭被杀死的程序打开的套接字?

    我有一个 Python 应用程序 它打开一个简单的 TCP 套接字来与单独主机上的另一个 Python 应用程序进行通信 有时程序要么出错 要么我直接杀死它 在任何一种情况下 套接字都可能会保持打开状态一段未知的时间 下次我去运行该程序时
  • 使用键/对表与 XML 字段和 XPath 的 SQL Server 性能对比

    我已经看到了关于这个主题的一些问题 但我正在寻找一些关于这个主题的见解性能差异这两种技术之间 例如 假设我正在记录事件日志 该日志将带有特定事件的键 值对的字典集进入系统 我将使用基本数据在事件表中记录一个条目 但随后我需要一种方法来链接其
  • Django 模板,如果项目 id 等于父循环名称,则循环遍历项目

    我正在尝试循环不同的区域 然后显示属于该区域的项目 Zone是一个模型 有一个名称和一个ForeignKey Planche 是一个以 Zone 作为外键的模型 我正在循环区域以显示每个区域 在该循环中 我循环所有 Planches 并且只
  • 如何初始化 struct sockaddr_in 的变量

    当我初始化变量时 我会执行以下操作 int i 0 char myText NULL 那么我该如何初始化struct sockaddr in类型变量 struct sockaddr in addr 如果您想将声明中的所有字段设置为零 无论结
  • 威尔逊评分区间的 Python 实现?

    看完之后如何不按平均评分排序 http www evanmiller org how not to sort by average rating html 我很好奇是否有人有伯努利参数的威尔逊得分置信区间下限的 Python 实现 Redd
  • Quill Editor:基于标签/类别的限制编辑

    我有一个场景 我想为用户提供一个半可编辑的模板 例如 p Name span class editable span p or div p Non editable content p h2 Some editable content h2
  • 如何在 Android 中扫描可用的广播电台?

    我们想要访问 Android 设备附近所有可用的无线电频率 有没有可用的 API 鉴于某些收音机在没有耳机 用作天线 的情况下无法启动 我们是否可以在不连接耳机的情况下扫描频率 我们想要访问 Android 设备附近可用的所有无线电频率 是
  • 无法在 NLB 上加载视图状态

    我们有一个系统 它可以动态创建每次回发的页面控件 并使用浏览器历史记录等处理回发 问题是 在生产服务器 NLB 上的 2 个节点 上 我们随机出现在不同的位置 没有发现任何相关性 加载视图状态失败 控制树可能是不同的错误 然而 我们的临时服
  • 在 Jenkins 中使用可编辑电子邮件扩展添加附件

    我正在 Jenkins 中使用可编辑电子邮件插件来附加电子邮件文件 问题是插件无法找到要附加的文件 我的文件结构是这样的 报告目录工作区 ReportDirectory 包含我要附加的报告 我相信插件的基本目录是工作区 所以我将附件位置指定
  • 是否应该始终将 role="contentinfo" 添加到页脚元素上?

    在 ARIA 演示网站上 role contentinfo 通常添加在footer元素 然而 现代网页设计中的页脚 http www smashingmagazine com 2008 04 08 footers in modern web
  • django中多参数过滤器和链式过滤器的区别

    django 中的多参数过滤器和链式过滤器有什么区别 正如您在生成的 SQL 语句中所看到的 差异并不是某些人可能怀疑的 OR 这就是 WHERE 和 JOIN 的放置方式 示例1 相同的连接表 来自https docs djangopro
  • 使用 Dapper 和 Postgresql - citext 数据类型

    我不确定是否有办法支持这一点 但我无法让 Dapper 将字符串参数值映射到 Postgresql citext 数据类型 因为它似乎使用的是文本类型 特别是 我试图调用一个接受 citext 参数的函数 我得到的错误是 var c Con
  • 无法使用 Springfox 发送授权承载令牌

    我无法理解为什么 Authorization Bearer 没有使用 Springfox 2 5 0 在我的 api 中发送 我有以下配置 private ApiKey apiKey return new ApiKey Authorizat