{"id":13470672,"url":"https://github.com/pac4j/pac4j","last_synced_at":"2026-01-17T07:52:58.476Z","repository":{"id":2330315,"uuid":"3291848","full_name":"pac4j/pac4j","owner":"pac4j","description":"Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...","archived":false,"fork":false,"pushed_at":"2025-05-06T22:19:42.000Z","size":68705,"stargazers_count":2470,"open_issues_count":2,"forks_count":699,"subscribers_count":113,"default_branch":"master","last_synced_at":"2025-05-07T06:19:37.407Z","etag":null,"topics":["authentication","authorization","cas","dropwizard","j2e","java","jax-rs","jwt","ldap","oauth","openid-connect","play-framework","ratpack","saml","security","shiro","sparkjava","spring-mvc","spring-security","vertx"],"latest_commit_sha":null,"homepage":"http://www.pac4j.org","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"eduardschaeli/wget-image-scraper","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pac4j.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-01-28T17:04:12.000Z","updated_at":"2025-05-07T03:14:06.000Z","dependencies_parsed_at":"2023-09-25T01:42:26.519Z","dependency_job_id":"591e0338-4c55-4ca8-9a93-5f1ce385fb69","html_url":"https://github.com/pac4j/pac4j","commit_stats":{"total_commits":4026,"total_committers":215,"mean_commits":"18.725581395348836","dds":0.5787382016890213,"last_synced_commit":"75f15b85a9d42d06b55a8161f225fcaf6da84a2a"},"previous_names":[],"tags_count":136,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fpac4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fpac4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fpac4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fpac4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pac4j","download_url":"https://codeload.github.com/pac4j/pac4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092648,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","authorization","cas","dropwizard","j2e","java","jax-rs","jwt","ldap","oauth","openid-connect","play-framework","ratpack","saml","security","shiro","sparkjava","spring-mvc","spring-security","vertx"],"created_at":"2024-07-31T16:00:33.706Z","updated_at":"2026-01-17T07:52:58.455Z","avatar_url":"https://github.com/pac4j.png","language":"Java","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://pac4j.github.io/pac4j/img/logo.png\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n### `pac4j` is an easy and powerful security framework for Java to authenticate users, get their profiles and manage authorizations in order to secure web applications and web services.\n\nIt provides a comprehensive set of [**concepts and components**](https://www.pac4j.org/docs/main-concepts-and-components.html).\nIt is **available for most frameworks/tools** and **supports most authentication/authorization mechanisms**.\nIt is licensed under the Apache 2 license.\n\n| JDK | pac4j | Usage of Lombok |\n|-----|-------|-----------------|\n| 17  | v6.x  | Yes             |\n| 11  | v5.x  | No              |\n| 8   | v4.x  | No              |\n\n## Available implementations (*Get started by clicking on your framework*):\n\n[JEE](https://github.com/pac4j/j2e-pac4j)\n\u0026bull; [Spring Web MVC (Spring Boot)](https://github.com/pac4j/spring-webmvc-pac4j)\n\u0026bull; [Spring Webflux (Spring Boot)](https://github.com/pac4j/spring-webflux-pac4j)\n\u0026bull; [Apache Shiro](https://github.com/bujiio/buji-pac4j)\n\u0026bull; [Spring Security (Spring Boot)](https://github.com/pac4j/spring-security-pac4j)\n\n[CAS server](https://apereo.github.io/cas/6.6.x/integration/Delegate-Authentication.html)\n\u0026bull; [Syncope](https://syncope.apache.org)\n\u0026bull; [Apache Knox](http://knox.apache.org/books/knox-1-6-0/user-guide.html#Pac4j+Provider+-+CAS+/+OAuth+/+SAML+/+OpenID+Connect)\n\n[Play 2.x](https://github.com/pac4j/play-pac4j)\n\u0026bull; [Vertx](https://github.com/pac4j/vertx-pac4j)\n\u0026bull; [Spark Java](https://github.com/pac4j/spark-pac4j)\n\u0026bull; [Ratpack](http://ratpack.io/manual/current/pac4j.html#pac4j)\n\u0026bull; [JAX-RS](https://github.com/pac4j/jax-rs-pac4j)\n\u0026bull; [Dropwizard](https://github.com/pac4j/dropwizard-pac4j)\n\n[Javalin](https://github.com/pac4j/javalin-pac4j)\n\u0026bull; [Pippo](http://www.pippo.ro/doc/security.html#pac4j-integration)\n\u0026bull; [Undertow](https://github.com/pac4j/undertow-pac4j)\n\u0026bull; [Lagom](https://github.com/pac4j/lagom-pac4j)\n\u0026bull; [Akka HTTP](https://github.com/StackVista/akka-http-pac4j)\n\u0026bull; [Jooby](https://jooby.io/modules/pac4j)\n\n## Authentication mechanisms:\n\n[OAuth (Facebook, Twitter, Google...)](https://www.pac4j.org/docs/clients/oauth.html) - [SAML](https://www.pac4j.org/docs/clients/saml.html) - [CAS](https://www.pac4j.org/docs/clients/cas.html) - [OpenID Connect](https://www.pac4j.org/docs/clients/openid-connect.html) - [HTTP](https://www.pac4j.org/docs/clients/http.html) - [Google App Engine](https://www.pac4j.org/docs/clients/google-app-engine.html) - [Kerberos (SPNEGO/Negotiate)](https://www.pac4j.org/docs/clients/kerberos.html)\n\n[LDAP](https://www.pac4j.org/docs/authenticators/ldap.html) - [SQL](https://www.pac4j.org/docs/authenticators/sql.html) - [JWT](https://www.pac4j.org/docs/authenticators/jwt.html) - [MongoDB](https://www.pac4j.org/docs/authenticators/mongodb.html) - [CouchDB](https://www.pac4j.org/docs/authenticators/couchdb.html) - [IP address](https://www.pac4j.org/docs/authenticators/ip.html) - [REST API](https://www.pac4j.org/docs/authenticators/rest.html)\n\n## Authorization mechanisms:\n\n[Roles](https://www.pac4j.org/docs/authorizers/profile-authorizers.html#roles) - [Anonymous/remember-me/(fully) authenticated](https://www.pac4j.org/docs/authorizers/profile-authorizers.html#authentication-levels) - [Profile type, attribute](https://www.pac4j.org/docs/authorizers/profile-authorizers.html#others)\n\n[CORS](https://www.pac4j.org/docs/authorizers/web-authorizers.html#cors) - [CSRF](https://www.pac4j.org/docs/authorizers/web-authorizers.html#csrf) - [Security headers](https://www.pac4j.org/docs/authorizers/web-authorizers.html#security-headers) - [IP address, HTTP method](https://www.pac4j.org/docs/authorizers/web-authorizers.html#others)\n\n---\n\n## Versions\n\n\nThe latest released version is the [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.pac4j/pac4j-core/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/org.pac4j/pac4j-core), available in the Maven central repository.\nThe [next version](https://www.pac4j.org/docs/next-version.html) is under development.\n\nRead the [documentation](https://www.pac4j.org/docs/index.html) for more information.\n\n\n## Need help?\n\nYou can use the [mailing lists](https://www.pac4j.org/mailing-lists.html) or the [commercial support](https://www.pac4j.org/commercial-support.html).\n\n\n## Supported by\n\n[![CAS in the cloud](https://www.pac4j.org/img/logo-casinthecloud.png)](https://www.casinthecloud.com) *The CAS and pac4j consulting company*\n","funding_links":[],"categories":["Java","Projects","Frameworks and Libs","安全","项目","Web Framework Hardening","Authorization","`Authentication Development`","\u003ca name=\"Java\"\u003e\u003c/a\u003eJava","Security"],"sub_categories":["Security","Java","安全","\u003ca name=\"authZ-java\"\u003e\u003c/a\u003eJava","\u003ca name=\"authN-java\"\u003e\u003c/a\u003eJava"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpac4j%2Fpac4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpac4j%2Fpac4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpac4j%2Fpac4j/lists"}