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

resteasy reactive中Quarkus Jwt的示例

宇文修文
2023-03-14

当我使用

@Inject
JsonWebToken jwt;

在返回Uni的函数中,它总是显示这个错误

使用惰性身份验证时,无法从IO线程调用getIdentity(),因为解析标识可能会阻塞线程。相反,您应该注入CurrentIdentityAssociation,调用CurrentIdentityAssociation # getDeferredIdentity()并订阅Uni。

有没有如何在Quarkus安息反应中使用JWT的例子?

如果我在函数中使用@Block,错误就会消失。谢谢。

共有1个答案

勾起运
2023-03-14

我认为这里有两种可能性。

如果已禁用主动身份验证,则可以重新启用它,以获取对令牌的非阻止访问。请参阅Quarkus主动身份验证文档,它说:

请注意,如果正在使用主动身份验证,则访问SecurityIdentity是一项阻塞操作

但是,我认为真正的解决方案是按照stacktrace的建议去做:

// Inject this instead of your JsonWebToken
@Inject
CurrentIdentityAssociation identities;

...

// And retrieve your token this way
Uni<JsonWebToken> getJwt() { 
    return identities.getDeferredIdentity()
                     .onItem()
                     .transform(identity -> (JsonWebToken) identity.getPrincipal());
}
 类似资料:
  • 由于Codename One支持基本Java对象功能的子集,所以在将数据添加到DefaultListModel之前,我不能使用vector.sort()对其进行排序。因此,在Codename One中寻找其他排序选项时,我找到了FilterProxyListModel。 我找不到如何正确初始化FilterProxyListModel的示例,因为它使用了一个有趣但棘手的“代理”设计模式,我对此并不熟

  • 本文向大家介绍HTML5中的MathML示例,包括了HTML5中的MathML示例的使用技巧和注意事项,需要的朋友参考一下 HTML5的HTML语法允许使用<math> ... </ math>标记在文档内部使用forMathML元素。 大多数网络浏览器都可以显示MathML标签。如果您的浏览器不支持MathML,则建议您使用最新版本的Firefox。 让我们来看一个例子:

  • 我刚开始使用Spark streaming并尝试运行本教程中的一个示例,我正在跟踪制作并运行我们自己的NetworkWordCount。我已经完成了第8步,并从SBT制作了一个罐子。 现在我正在尝试使用第9步中的命令运行deploy my jar,如下所示: 我创建的jar包含“NetworkWordCount”类,该类具有来自spark示例的以下代码 我无法确定我做错了什么。

  • 本文向大家介绍C ++中的多态示例,包括了C ++中的多态示例的使用技巧和注意事项,需要的朋友参考一下 多态是面向对象编程的关键特征,即具有多种形式。在C ++中,这分为编译时多态和运行时多态。 编译时多态的一个示例是函数重载或运算符重载。函数覆盖是运行时多态性的一个示例。 C ++中使用函数重载的多态示例如下。 示例 输出结果 上面程序的输出如下。 现在,让我们了解以上程序。 类Example中

  • 问题内容: 我一直在尝试学习委托协议的工作方式。我了解所有内容,但是除了使用表视图和可能的滚动视图时,我无法想到何时使用委派。 通常,什么时候使用委托? 问题答案: 什么是委派? 首先,您应该知道委派模式不是iOS世界专用的: 在软件工程中,委托模式是面向对象编程中的一种设计模式,它允许对象组合实现与继承相同的代码重用。 但是在iOS世界中使用委托非常普遍,我假设您可以看到许多提供委托/数据源的类

  • 问题内容: 我正在寻找一种方法来将示例文本放入一个摆动的JTextField中,并使其变灰。一旦在该文本字段中输入了任何内容,示例文本就会消失。与用户使用标题字段发布问题时的stackoverflow类似。 我想如果它已经是JTextField的扩展实现,那么我可以将其作为简单的替代品放入。swingx的所有功能都可以使用。我想如果没有一种简便的方法可以做到这一点,我的选择可能就是重写JTextF

  • 我阅读了关于在Elasticsearch中索引文档的教程。例如,批量索引。我有个问题,当为循环中的一个项创建带有两个键的数组时,是否正确: 为什么循环中有两个数组初始化$params['body][]?必须使用与my_字段相同的键进行索引设置? 我的意思是一种情况,当有关index的所有信息都由一个键(index)添加到数组中时: 同样在搜索查询后,我得到错误: 消息:非法字符串偏移量“匹配”在所

  • 本文向大家介绍Android Dialog中软键盘的显示与隐藏的示例,包括了Android Dialog中软键盘的显示与隐藏的示例的使用技巧和注意事项,需要的朋友参考一下 1.写在前面 本篇的主要内容是关于在Dialog中软键盘的显示与隐藏问题,需求是在Dialog中有一个密码输入框,弹出Dialog显示软键盘,关闭Dialog隐藏软键盘。 嗯,是不是有点简单,不过在实现的过程中还是遇到了一些问题