/pac4j

Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...

Primary LanguageJavaApache License 2.0Apache-2.0

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.

It provides a comprehensive set of concepts and components. 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):

J2ESpring Web MVC (Spring Boot)Spring Security (Spring Boot)Apache Shiro

Play 2.xVertxSpark JavaRatpackUndertow

CAS serverJAX-RSDropwizardApache KnoxJooby

Authentication mechanims:

OAuth (Facebook, Twitter, Google...) - SAML - CAS - OpenID Connect - HTTP - OpenID - Google App Engine

LDAP - SQL - JWT - MongoDB - Stormpath - IP address

Authorization mechanisms:

Roles / permissions - Anonymous / remember-me / (fully) authenticated - Profile type, attribute

CORS - CSRF - Security headers - IP address, HTTP method


Versions

The version 1.9.3-SNAPSHOT is under development. Maven artifacts are built via Travis: Build Status and available in the Sonatype snapshots repository.

The source code can be cloned and locally built via Maven:

git clone git@github.com:pac4j/pac4j.git
cd pac4j
mvn clean install

The latest released version is the Maven Central, available in the Maven central repository. See the release notes.

Read the documentation for more information.

Need help?

If you have any question, please use the following mailing lists: