buji-pac4j is a bridge library that integrates pac4j (a comprehensive security library supporting OAuth, CAS, SAML, OpenID Connect, etc.) with Apache Shiro. It automatically pushes pac4j authentication and authorization profiles into the Shiro security context, allowing developers to use pac4j's wide range of authentication mechanisms while leveraging Shiro for authorization and session management. The bridge is implemented as a set of classes that adapt pac4j's session store, profile manager, and framework adapter to Shiro's APIs, plus a custom Realm, SubjectFactory, and Token. It includes sophisticated logic to avoid unnecessary session renewal when the same user's profiles are updated (e.g., after token refresh), demonstrating deep understanding of both frameworks' internals. The library is production-ready, actively maintained, and used in legacy applications that want to adopt pac4j without fully migrating away from Shiro.
axum-login is a Rust library providing user identification, authentication, and authorization as tower middleware for Axum web applications. It enables pluggable authentication backends through well-designed traits (AuthUser, AuthnBackend, AuthzBackend) and offers flexible route protection via both macro-based and builder-based middleware APIs. The library uses tower-sessions for secure session management and includes features like session fixation mitigation and constant-time password verification. Examples demonstrate usage with various backends including SQLite, OAuth2, and permission-based systems.