将 SecurityIdentity 直接提供给 Quarkus/RESTEasy Web 服务方法

Providing the SecurityIdentity directly to a Quarkus/RESTEasy web service method

我正在使用带有 RESTEasy 的 Quarkus 来制作 Web 服务,我需要在我的一些方法中访问 SecurityIdentity

可以通过使服务 RequestScoped:

注入它
@RequestScoped
@Path("/foo")
public class FooResource {
    @Inject
    public SecurityIdentity securityIdentity;

    @GET
    public Foos getFoos() {
        // use securityIdentity
    }
}

但我更愿意使用 class ApplicationScoped 并将 SecurityIdentity 提供给方法。像这样:

@ApplicationScoped
@Path("/foo")
public class FooResource {
    @GET
    // This does not work, Quarkus tries to convert the request body to a SecurityIdentity.
    public Foos getFoos(SecurityIdentity securityIdentity) { 
        // use securityIdentity
    }
}

这可能吗?有没有我可以添加的魔法注释让 Quarkus 注入 SecurityIdentity?

将其注入到字段中仍然适用于 ApplicationScoped bean 并且是线程安全的