不满足的依赖主体

Unsatisfied dependency Principal

我正在尝试为 authorization/authentication 实施 quarkus 扩展。我以现有的 quarkus-smallrye-jwt-abx-extension 为例。一切似乎都正常,除了我无法注入 Principal:

    @Inject
    private Principal principal;

我正在

Unsatisfied dependency for type java.security.Principal and qualifiers [@Default]

注入 SecurityContext 并从中获取 Principal 工作正常:

    @Context
    private SecurityContext sec;

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    @Path("test")
    public String test() {
        return sec.getUserPrincipal().getName();
    }

quarkus-smallrye-jwt-abx-extension 中,有一个 PrincipalProducer,它似乎产生了 Principal。这真的有必要吗?这不是由安全子系统本身提供的吗?它还提供SecurityContext;为什么它不应该提供 Principal?

请检查您的 Android 清单,这通常意味着您正在使用未声明的服务。

转到清单并添加

<uses android-permission = "Read External storage..... /> 

希望解决问题的码农

这是当前 resteasy/CDI 集成中的一个错误,因为我们没有提供基于 JAX-RS SecurityContext 的默认值。 quarkus-smallrye-jwt 扩展提供了一个 PrincipalProducer 来覆盖默认设置,因为它安装了一个作为 java.security.Principal 子接口的 Principal。当前的解决方法是提供您自己的主要制作人。

有一个错误报告: https://github.com/quarkusio/quarkus/issues/2528