Fawnoos Blog

Guides, walkthroughs and opinions on Software Development, Open Source, and Identity and Access Management.

Apereo CAS - Troubleshooting with an MCP Server

Connect an MCP client to Apereo CAS to investigate login decisions, application registrations and missing attributes, with authenticated access and an audit trail.

Apereo CAS - Externalizing User Interface Resources

Learn how to move CSS, JavaScript, images, themes and Thymeleaf views outside the CAS web application, so that branding changes no longer require a rebuild.

Apereo CAS - Controlling & Curating Logs

Learn how to configure Log4j2, change log levels through Spring Boot and actuator endpoints, and publish application and JSON audit logs from Apereo CAS to Datadog.

Apereo CAS - Processing Duo Security AMRs

Learn how to pass authentication method references (AMR) from Duo Security to SAML2 and OpenID Connect relying parties with Apereo CAS.

Apereo CAS - SAML2 Metadata Entity Attributes

Learn how to teach your SAML service provider metadata new tricks by using entity attributes to drive behavior.

Apereo CAS - Directory-based SAML2 Metadata Registration

Learn how to register SAML2 service provider metadata with CAS using a directory notation, rather than individual file references.

Apereo CAS - Teaching the Browser via Puppeteer to Test Flows

CAS Gradle Overlay meets Puppeteer. Learn how to teach your browser to run automated tests to verify flows and functionality.

Apereo CAS - Rotating OpenID Connect Client Secrets

Learn how Apereo CAS allows registered OIDC applications to have client secrets that expire.

Apereo CAS - Gradle's Isolated Projects

The joys and challenges of teaching the CAS Gradle build to mind its own business!

Apereo CAS - SSO Session Revocation via Attributes

Learn how to control and revoke SSO sessions based on user attributes at runtime and execute admin logouts. We will discuss how single sign-on can be a wonderful thing until it is not.

Apereo CAS - Recognizing MFA from External Identity Providers

Learn how to instruct MFA to elevate its SSO session when handing off authentication to an external provider responsible for multifactor authentication.

Apereo CAS - Managing Service Definitions with Google Cloud Storage

Learn to manage application definitions and registration records using Google Cloud Storage.

Apereo CAS - Spring Boot Admin Integration

Learn to manage and monitor your Apereo CAS deployment using the Spring BootAdmin server and Spring Boot Actuator endpoints.

Apereo CAS - Stateless Ticket Registry

The stateless ticket registry simplifies CAS clustering by putting encrypted ticket state inside the ticket itself, trading backend storage for careful attention to ticket size, session-management and weather patterns.

Apereo CAS - Passwordless Authentication with Delegated Authentication

Exploring passwordless authentication in CAS and learning how to selectively route eligible users to Microsoft Entra ID using delegated authentication.

AI Generated Commit Messages with Fork

Learn how to customize Git’s prepare-commit-msg hook to generate commit messages automatically based on staged changes using OpenAI, with a particular focus on making the workflow usable from Fork.

Apereo CAS - Multitenancy

Learn how to configure Apereo CAS for multitenant deployments, where one CAS server may act as the authentication mothership for many isolated tenants, realms, kingdoms, departments, customers, and other organizational units that insist they are very special.

Apereo CAS - CAS Overlay Gradle Tasks

Learn how to invoke fancy Gradle tasks in your CAS overlays to download Java classes or compare your local configuration files with upstream prior to upgrades.

Apereo CAS Internals - A Journey Through the Apereo CAS Codebase (Book)

A book, by Dmitriy Kopylenko, for developers who want to understand how Apereo CAS is actually implemented.

Apereo CAS - Delegated Authentication with Microsoft Entra ID

Learn how to use Microsoft Entra ID as an external OpenID Connect identity provider and connect it to CAS for a delegated/proxy authentication scenario.

Apereo CAS - Annotation Processing with Apache Maven on Java 25

Learn how to activate annotation processors like Lombok for your Apereo CAS build, specially if you are building or overlaying Apereo CAS 8 with Maven and have moved your toolchain to Java 25.

Enter your search term: