# pac4j
**Repository Path**: broil/pac4j
## Basic Information
- **Project Name**: pac4j
- **Description**: Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-06-22
- **Last Updated**: 2022-06-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### `pac4j` is an easy and powerful security engine for Java to authenticate users, get their profiles and manage authorizations in order to secure web applications and web services.
It provides a comprehensive set of [**concepts and components**](http://www.pac4j.org/docs/main-concepts-and-components.html). It is based on Java 8 and available under the Apache 2 license. It is **available for most frameworks/tools** and **supports most authentication/authorization mechanisms**.
## Available implementations (*Get started by clicking on your framework*):
[Spring Web MVC (Spring Boot)](https://github.com/pac4j/spring-webmvc-pac4j)
• [JEE](https://github.com/pac4j/j2e-pac4j)
• [Apache Shiro](https://github.com/bujiio/buji-pac4j)
• [Spring Security (Spring Boot)](https://github.com/pac4j/spring-security-pac4j)
• [Play 2.x](https://github.com/pac4j/play-pac4j)
• [Vertx](https://github.com/pac4j/vertx-pac4j)
[Spark Java](https://github.com/pac4j/spark-pac4j)
• [Javalin](https://github.com/pac4j/javalin-pac4j)
• [Ratpack](http://ratpack.io/manual/current/pac4j.html#pac4j)
• [Pippo](http://www.pippo.ro/doc/security.html#pac4j-integration)
• [Undertow](https://github.com/pac4j/undertow-pac4j)
• [Jooby](http://jooby.org/doc/pac4j)
[CAS server](https://apereo.github.io/cas/5.3.x/integration/Delegate-Authentication.html)
• [JAX-RS](https://github.com/pac4j/jax-rs-pac4j)
• [Dropwizard](https://github.com/pac4j/dropwizard-pac4j)
• [Lagom](https://github.com/pac4j/lagom-pac4j)
• [Akka HTTP](https://github.com/StackVista/akka-http-pac4j)
• [Apache Knox](http://knox.apache.org/books/knox-1-1-0/user-guide.html#Pac4j+Provider+-+CAS+/+OAuth+/+SAML+/+OpenID+Connect)
## Authentication mechanisms:
[OAuth (Facebook, Twitter, Google...)](http://www.pac4j.org/docs/clients/oauth.html) - [SAML](http://www.pac4j.org/docs/clients/saml.html) - [CAS](http://www.pac4j.org/docs/clients/cas.html) - [OpenID Connect](http://www.pac4j.org/docs/clients/openid-connect.html) - [HTTP](http://www.pac4j.org/docs/clients/http.html) - [OpenID](http://www.pac4j.org/docs/clients/openid.html) - [Google App Engine](http://www.pac4j.org/docs/clients/google-app-engine.html) - [Kerberos (SPNEGO/Negotiate)](http://www.pac4j.org/docs/clients/kerberos.html)
[LDAP](http://www.pac4j.org/docs/authenticators/ldap.html) - [SQL](http://www.pac4j.org/docs/authenticators/sql.html) - [JWT](http://www.pac4j.org/docs/authenticators/jwt.html) - [MongoDB](http://www.pac4j.org/docs/authenticators/mongodb.html) - [CouchDB](http://www.pac4j.org/docs/authenticators/couchdb.html) - [IP address](http://www.pac4j.org/docs/authenticators/ip.html) - [REST API](http://www.pac4j.org/docs/authenticators/rest.html)
## Authorization mechanisms:
[Roles/permissions](http://www.pac4j.org/docs/authorizers/profile-authorizers.html#roles--permissions) - [Anonymous/remember-me/(fully) authenticated](http://www.pac4j.org/docs/authorizers/profile-authorizers.html#authentication-levels) - [Profile type, attribute](http://www.pac4j.org/docs/authorizers/profile-authorizers.html#others)
[CORS](http://www.pac4j.org/docs/authorizers/web-authorizers.html#cors) - [CSRF](http://www.pac4j.org/docs/authorizers/web-authorizers.html#csrf) - [Security headers](http://www.pac4j.org/docs/authorizers/web-authorizers.html#security-headers) - [IP address, HTTP method](http://www.pac4j.org/docs/authorizers/web-authorizers.html#others)
---
## Versions
The latest released version is the [](https://maven-badges.herokuapp.com/maven-central/org.pac4j/pac4j), available in the Maven central repository.
The [next version](http://www.pac4j.org/docs/next_version.html) is under development.
Read the [documentation](http://www.pac4j.org/docs/index.html) for more information.
## Need help?
If you need commercial support (premium support or new/specific features), contact us at [info@pac4j.org](mailto:info@pac4j.org).
If you have any questions, want to contribute or be notified about the new releases and security fixes, please subscribe to the following [mailing lists](http://www.pac4j.org/mailing-lists.html):
- [pac4j-users](https://groups.google.com/forum/?hl=en#!forum/pac4j-users)
- [pac4j-developers](https://groups.google.com/forum/?hl=en#!forum/pac4j-dev)
- [pac4j-announce](https://groups.google.com/forum/?hl=en#!forum/pac4j-announce)
- [pac4j-security](https://groups.google.com/forum/#!forum/pac4j-security)
## Supported by
[](https://www.casinthecloud.com) *The CAS and pac4j consulting company*
## Third-party extensions
There exist extensions to pac4j developed by third parties. The extensions provide features not available in the core pac4j distribution. At the moment, the following extension are known:
- [IDC Extensions to PAC4J](https://github.com/jkacer/pac4j-extensions), developed internally by IDC and published as open source.