A Crystal library providing standardized multi-provider OAuth authentication for web applications.
MultiAuth is a Crystal library that standardizes OAuth authentication across multiple providers for web applications. It solves the problem of integrating disparate OAuth APIs by providing a single, consistent interface to handle user authentication with services like GitHub, Google, and Facebook.
Crystal developers building web applications that require user authentication via third-party OAuth providers, especially those using frameworks like Kemal, Lucky, Amber, or Marten.
Developers choose MultiAuth for its simplicity, framework-agnostic design, and lack of external dependencies, making it easy to add robust multi-provider authentication without bloating their project.
Standardized multi-provider OAuth authentication
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates with multiple popular OAuth providers like GitHub, Google, Facebook, and generic OAuth2, as detailed in the README's provider list.
Works with any Crystal web framework; the README includes specific integration examples for Kemal, Lucky, Amber, and Marten.
Built as a self-contained library, keeping projects lightweight and avoiding dependency bloat, as emphasized in the philosophy.
Easy to add new providers or customize existing ones, with a generic OAuth2 option and third-party extensions like SAML support.
Returns consistent user information via a unified User class, simplifying data handling across different providers.
Requires writing custom code for each web framework, as shown in the lengthy, framework-specific examples in the README.
Focuses solely on OAuth provider interaction; lacks built-in session management, security enhancements, or user database integration.
The README provides basic examples but lacks detailed guides on error handling, security best practices, or complex edge cases.