{"id":13471878,"url":"https://github.com/pac4j/spring-security-pac4j","last_synced_at":"2025-03-26T15:30:41.560Z","repository":{"id":3340553,"uuid":"4384920","full_name":"pac4j/spring-security-pac4j","owner":"pac4j","description":"Bridge from the pac4j security library to Spring Security (reactive)","archived":false,"fork":false,"pushed_at":"2025-03-17T06:00:51.000Z","size":573,"stargazers_count":270,"open_issues_count":0,"forks_count":75,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-17T07:24:23.904Z","etag":null,"topics":["authentication","authorization","cas","facebook","java","jwt","ldap","login","logout","mongodb","oauth","openid-connect","saml","security","social-login","spring-boot","spring-security","sql","twitter"],"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":null,"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":null,"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}},"created_at":"2012-05-20T14:05:43.000Z","updated_at":"2025-03-17T06:00:52.000Z","dependencies_parsed_at":"2023-02-18T04:46:08.035Z","dependency_job_id":"326d829e-4436-412d-b4d4-361dcacd1e93","html_url":"https://github.com/pac4j/spring-security-pac4j","commit_stats":{"total_commits":476,"total_committers":15,"mean_commits":"31.733333333333334","dds":0.4453781512605042,"last_synced_commit":"179b640b633ec1f782902cd054b8783023944c1e"},"previous_names":["leleuj/spring-security-oauth-client"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fspring-security-pac4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fspring-security-pac4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fspring-security-pac4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pac4j%2Fspring-security-pac4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pac4j","download_url":"https://codeload.github.com/pac4j/spring-security-pac4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245681183,"owners_count":20655148,"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","facebook","java","jwt","ldap","login","logout","mongodb","oauth","openid-connect","saml","security","social-login","spring-boot","spring-security","sql","twitter"],"created_at":"2024-07-31T16:00:50.002Z","updated_at":"2025-03-26T15:30:41.213Z","avatar_url":"https://github.com/pac4j.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://pac4j.github.io/pac4j/img/logo-spring-security.png\" width=\"300\" /\u003e\n\u003c/p\u003e\n\nThe `spring-security-pac4j` project is a **bridge from pac4j to Spring Security (reactive)** to push the pac4j security context into the Spring Security security (reactive) context.  \nIt's based on the **[pac4j security engine](https://github.com/pac4j/pac4j)**. It's available under the Apache 2 license.\n\n| spring-security-pac4j | JDK | pac4j | Spring security | Operating philosophy        | Usage of Lombok | Status           |\n|-----------------------|-----|-------|-----------------|-----------------------------|-----------------|------------------|\n| version \u003e= 10         | 17  | v6    | v6              | Bridge only                 | Yes             | Production ready |\n| version \u003e= 9          | 17  | v5    | v6              | Bridge only                 | No              | Production ready |\n| version \u003e= 8          | 11  | v5    | v5              | Standalone security library | No              | Production ready |\n| version \u003e= 6          | 11  | v5    | v5              | Standalone security library | No              | Production ready |\n| version \u003e= 5          | 8   | v4    | v5              | Standalone security library | No              | Production ready |\n\n**Since version 8 (working as a bridge only), it must be used with a [pac4j security library](https://www.pac4j.org/implementations.html)**:\n- the [jakartaee-pac4j](https://github.com/pac4j/jee-pac4j) (Spring 6) or [javaee-pac4j](https://github.com/pac4j/jee-pac4j) (Spring 5) implementation (which has similar filters as `spring-security-pac4j` version \u003c= 7.x)\n- if you use Spring MVC, the [spring-webmvc-pac4j](https://github.com/pac4j/spring-webmvc-pac4j) implementation version \u003e= 7 (Spring 6) or version \u003c 7 (Spring 5)\n- if you use Spring Webflux, the [spring-webflux-pac4j](https://github.com/pac4j/spring-webflux-pac4j) implementation version \u003e= 2 (Spring 6) or version \u003c 2 (Spring 5)\n\nWhile **it is always better to directly use a pac4j security library alone**, this bridge can be used to keep legacy software and avoid full migration.\n\n\n## Usage\n\n### 1) [Add the required dependencies](https://github.com/pac4j/spring-security-pac4j/wiki/Dependencies)\n\n### 2) The bridge is automatically installed\n\n### 3) Install, configure and use the pac4j security library\n\nYou must refer to the documentation of the pac4j security library you use: [jakartaee-pac4j](https://github.com/pac4j/jee-pac4j) or [spring-webmvc-pac4j](https://github.com/pac4j/spring-webmvc-pac4j) or [spring-webflux-pac4j](https://github.com/pac4j/spring-webflux-pac4j).\n\n\n## Demos\n\nSpring security boot demo with pac4j JEE filters: `spring-security-pac4j` + `jakartaee-pac4j`: [spring-security-jee-pac4j-boot-demo](https://github.com/pac4j/spring-security-jee-pac4j-boot-demo).\n\nSpring Security boot demo with pac4j SpringMVC: `spring-security-pac4j` + `spring-webmvc-pac4j`: [spring-security-webmvc-pac4j-boot-demo](https://github.com/pac4j/spring-security-webmvc-pac4j-boot-demo).\n\nSpring Security reactive boot demo with pac4j Spring Webflux: `spring-security-pac4j` + `spring-webflux-pac4j`: [spring-security-webflux-pac4j-boot-demo](https://github.com/pac4j/spring-security-webflux-pac4j-boot-demo).\n\n\n## Versions\n\nThe latest released version is the [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.pac4j/spring-security-pac4j/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/org.pac4j/spring-security-pac4j), available in the [Maven central repository](https://repo.maven.apache.org/maven2).\nThe [next version](https://github.com/pac4j/spring-security-pac4j/wiki/Next-version) is under development.\n\nSee the [release notes](https://github.com/pac4j/spring-security-pac4j/wiki/Release-Notes). Learn more by browsing the [pac4j documentation](https://www.javadoc.io/doc/org.pac4j/pac4j-core/6.0.1/index.html) and the [spring-security-pac4j Javadoc](http://www.javadoc.io/doc/org.pac4j/spring-security-pac4j/10.0.0).\n\nSee the [migration guide](https://github.com/pac4j/spring-security-pac4j/wiki/Migration-guide) as well.\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpac4j%2Fspring-security-pac4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpac4j%2Fspring-security-pac4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpac4j%2Fspring-security-pac4j/lists"}