dumbtv
dumbtv takes the ads, screen tracking and update nags out of your Fire TV over ADB. No root, none of your apps touched, every step can be undone. Free and open source.
Secure Java applications with pac4j: authentication and authorization with OpenID Connect, SAML, CAS, OAuth and JWT across Spring Boot and other frameworks.
SecurityJava · ShellGitHub @pac4jOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Security engine for Java (authentication, authorization, multi frameworks): OpenID Connect, SAML2, CAS, OAuth, LDAP, JWT...
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Add the Spring MVC integration and the OpenID Connect module:
<dependency>
<groupId>org.pac4j</groupId>
<artifactId>spring-webmvc-pac4j</artifactId>
<version>8.0.3</version>
</dependency>
<dependency>
<groupId>org.pac4j</groupId>
<artifactId>pac4j-oidc</artifactId>
<version>6.5.9</version>
</dependency>
Then define your identity provider and the URLs to protect:
@Configuration
public class SecurityConfig extends Pac4jSecurityConfig {
@Bean
public Config config() {
final var oidc = new OidcConfiguration()
.setDiscoveryURI("https://www.casserverpac4j.dev/oidc/.well-known/openid-configuration")
.setClientId("myclient")
.setSecret("mysecret")
.setAllowUnsignedIdTokens(true); // only for this demo server
return new Config("http://localhost:8080/callback", new OidcClient(oidc));
}
@Override
public void addInterceptors(final InterceptorRegistry registry) {
addSecurity(registry, "OidcClient").addPathPatterns("/protected/**");
}
}
That's it: /protected/** now requires an OpenID Connect login, and the user profile is available through the ProfileManager.
Switching to Keycloak, Google or Microsoft Entra ID is a matter of changing the client:
read the full guide or run the demo.
| Framework | Get started |
|---|---|
| Spring Web MVC / Spring Boot | OpenID Connect guide |
| Spring Security / Spring Boot | OpenID Connect guide |
| Spring WebFlux / Spring Boot | OpenID Connect guide |
| Jakarta EE | OpenID Connect guide |
| Play 2.x / 3.x | SAML guide |
| Vert.x | CAS guide |
| Javalin | SAML guide |
| JAX-RS | OpenID Connect guide |
| Dropwizard | OpenID Connect guide |
| Spark Java | OpenID Connect guide |
| Undertow | OpenID Connect guide |
pac4j also powers the authentication delegation of Apereo CAS, Apache Syncope and Apache Knox.
| Login protocols | Credentials validation |
|---|---|
| OpenID Connect • SAML • CAS • OAuth • HTTP • Kerberos • OpenID4VP (EUDI wallet, eIDAS 2.0) | LDAP • SQL • JWT • MongoDB • IP address • REST API |
| User profile | Web request |
|---|---|
| Roles • Anonymous / remember-me / (fully) authenticated • Profile type, attribute | CORS • CSRF • Security headers • IP address, HTTP method |
OpenID Federation • OpenID for Verifiable Presentations (EUDI wallet, eIDAS 2.0)
| JDK | pac4j | Usage of Lombok |
|---|---|---|
| 17 | v6.x | Yes |
| 11 | v5.x | No |
| 8 | v4.x | No |
The latest released version is . The next version is under development. See the release notes.
This project is developed using various AI tools across multiple areas, including development, testing, and documentation.
Contributions are welcome: read the contribution guide to get started.
⭐ If pac4j is useful to you, please star this repository: it helps other developers discover it!
| Apache Shiro | CAS guide |
| Jooby • http4s • Ratpack • Lagom (archived) • Akka HTTP (archived) | Jooby • http4s • Ratpack • Lagom • Akka HTTP |