# justauth/justauth

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/justauth-justauth).**

17,457 stars · 2,851 forks · Java · MIT

## Links

- GitHub: https://github.com/justauth/JustAuth
- Homepage: https://www.justauth.cn
- awesome-repositories: https://awesome-repositories.com/repository/justauth-justauth.md

## Topics

`googlelogin` `justauth` `oauth2` `qqlogin` `weixinlogin`

## Description

JustAuth is an OAuth 2.0 authentication library designed to integrate multiple third-party login providers into a single interface. It abstracts various social login APIs and identity services, allowing applications to manage authentication using the OAuth 2.0 and OIDC protocols.

The project provides a multi-provider identity integrator that replaces the need for individual vendor software development kits. It includes a toolkit for defining custom authentication platforms and proprietary identity services by specifying custom OAuth protocols and endpoints.

The library manages the full authentication workflow, from redirecting users to external providers to exchanging authorization codes for access tokens. It also includes a distributed session manager to cache authentication states and maintain security across multiple server instances using a shared caching layer.

## Tags

### Security & Cryptography

- [Third-Party Authentication Providers](https://awesome-repositories.com/f/security-cryptography/third-party-authentication-providers.md) — Provides a unified interface to integrate multiple third-party authentication providers, replacing individual vendor SDKs. ([source](https://github.com/justauth/justauth#readme))
- [Distributed Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/session-and-credential-handling/session-credential-management/distributed-authentication-strategies.md) — Uses distributed components to cache session data and maintain security consistency across multiple user requests. ([source](https://github.com/justauth/justauth#readme))
- [Distributed Session Storage](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/server-side-session-stores/distributed-session-storage.md) — Provides a generic cache interface for managing authentication states across a distributed cluster of nodes.
- [Flow Orchestrators](https://awesome-repositories.com/f/security-cryptography/identity-and-access-management-servers/flow-orchestrators.md) — Coordinates the stateful orchestration of the redirect and token exchange sequence across all supported platforms.
- [OAuth Providers](https://awesome-repositories.com/f/security-cryptography/oauth-providers.md) — Implements a unified library for integrating multiple providers using the OAuth 2.0 and OIDC protocols.
- [OAuth2 Implementations](https://awesome-repositories.com/f/security-cryptography/oauth2-implementations.md) — Manages the end-to-end OAuth2 authorization flow, including user redirection and secure token exchange.
- [Social Login Providers](https://awesome-repositories.com/f/security-cryptography/social-login-providers.md) — Integrates multiple social and professional login options through a single, unified interface.
- [OAuth and Identity Providers](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/oauth-identity-providers.md) — Connects applications to proprietary or niche authentication services via custom OAuth protocols and endpoints.
- [Custom Service Definitions](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/oauth-identity-providers/custom-service-definitions.md) — Allows the creation of custom authentication platform definitions to support proprietary identity services. ([source](https://github.com/justauth/justauth#readme))
- [Customizable Clients](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/oauth-identity-providers/customizable-clients.md) — Provides a toolkit for defining new authentication platforms and controlling network request logic.

### Software Engineering & Architecture

- [Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/abstraction-layers.md) — Unifies diverse OAuth2 implementations into a single interface to decouple application logic from provider specifics.
- [Network Request Clients](https://awesome-repositories.com/f/software-engineering-architecture/network-layering-concepts/network-request-clients.md) — Decouples the authentication flow from specific HTTP libraries through a configurable network request interface.

### Web Development

- [Identity Provider Integration](https://awesome-repositories.com/f/web-development/third-party-integrations/third-party-platform-authorizations/identity-provider-integration.md) — Abstracts various social login APIs into a single interface to simplify multi-provider user authentication.

### Development Tools & Productivity

- [Dynamic Provider Registration](https://awesome-repositories.com/f/development-tools-productivity/dynamic-configuration-providers/dynamic-provider-registration.md) — Implements dynamic registration of authentication providers at runtime by mapping provider keys to logic classes.
