affaan-m avatar

Quarkus Security

This walks you through the practical side of locking down Quarkus apps: JWT and OIDC authentication, role-based access with @RolesAllowed, Bean Validation for input sanitization, and proper secrets management with Vault or environment variables. It covers the stuff you'll actually hit when building a production service: preventing SQL injection with Panache's parameterized queries, hashing passwords with Bcrypt, configuring CORS properly, and doing ownership checks beyond simple role checking. The examples are straightforward and show both the wrong way and the right way, which honestly saves time when you're trying to remember whether you need to validate at the DTO level or the entity level. Good reference when you're adding auth to existing endpoints or reviewing security before a release.

skills.sh installs
5.4K
GitHub stars
300.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add affaan-m/ecc --skill quarkus-security --agent claude-code

Installs into .claude/skills of the current project.

Files

Quarkus Security Review

Best practices for securing Quarkus applications with authentication, authorization, and input validation.

When to Activate

  • Adding authentication (JWT, OIDC, Basic Auth)
  • Implementing authorization with @RolesAllowed or SecurityIdentity
  • Validating user input (Bean Validation, custom validators)
  • Configuring CORS or security headers
  • Managing secrets (Vault, environment variables, config sources)
  • Adding rate limiting or brute-force protection
  • Scanning dependencies for CVEs
  • Working with MicroProfile JWT or SmallRye JWT

Authentication

JWT Authentication

// Resource protected with JWT
@Path("/api/protected")
@Authenticated
public class ProtectedResource {

  @Inject
  JsonWebToken jwt;

  @Inject
  SecurityIdentity securityIdentity;

  @GET
  public Response getData() {
    String username = jwt.getName();
    Set<String> roles = jwt.getGroups();
    return Response.ok(Map.of(
        "username", username,
        "roles", roles,
        "principal", securityIdentity.getPrincipal().getName()
    )).build();
  }
}

Sponsors

Details

Repository
github.com/affaan-m/ecc
Categories
Backend & APIs, Security, Java & JVM
First seen
Jul 14, 2026

More from affaan-m/ecc

All 263
1starchild-ai-agent avatarproject-builderstarchild-ai-agent/official-skillsEnd-to-end project engineering: design, incremental build, verify, debug systematically. Use when building software, dashboards, scheduled jobs, or web apps the5.2Kskills.sh installs
2grafana avatartempografana/skillsStand up Grafana Tempo as a cost-efficient distributed-tracing backend that only needs object storage, and write TraceQL queries against it. Covers OTLP + Jaege5.2Kskills.sh installs
3forcedotcom avatardata360-schema-getforcedotcom/sf-skillsRetrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspe5.1Kskills.sh installs
4ziniao-open avatarziniao-skill-makerziniao-open/skills创建 ziniao-cli 的自定义 Skill。当用户需要把紫鸟 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。5Kskills.sh installs
5jeffallan avatardotnet-core-expertjeffallan/claude-skillsUse when building .NET 8 applications with minimal APIs, clean architecture, or cloud-native microservices. Invoke for Entity Framework Core, CQRS with MediatR,5Kskills.sh installs
6iii-hq avatariii-engine-configiii-hq/iiiConfigures the iii engine via iii-config.yaml — workers, adapters, queue configs, ports, and environment variables. Use when deploying, tuning, or customizing t4.9Kskills.sh installs