logto
🧑🚀 The better identity infrastructure for developers and the open-source alternative to Auth0.
Top Related Projects
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
The most scalable and customizable identity server on the market. Replace your Homegrown, Auth0, Okta, Firebase with better UX and DX. Has all the tablestakes: Passkeys, Social Sign In, Multi-Factor Auth, SMS, SAML, TOTP, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Open Source Identity and Access Management For Modern Applications and Services
Authentication for the Web.
Quick Overview
Logto is an open-source identity solution that provides a seamless sign-in experience across various platforms. It offers features like passwordless authentication, social sign-in, and multi-factor authentication. Logto aims to simplify user management and authentication for developers while providing a secure and user-friendly experience.
Pros
- Comprehensive identity solution with support for various authentication methods
- Easy integration with multiple platforms (Web, iOS, Android)
- Customizable UI components for a seamless user experience
- Active development and community support
Cons
- Relatively new project, which may lead to potential stability issues
- Limited documentation compared to more established identity solutions
- May require additional setup and configuration for complex use cases
- Learning curve for developers new to identity management systems
Code Examples
// Initialize Logto client
const logto = new LogtoClient({
endpoint: 'https://your-logto-endpoint.com',
appId: 'your-application-id',
});
// Sign in user
await logto.signIn('https://your-app.com/callback');
// Get user information
const userInfo = await logto.fetchUserInfo();
// Check if user is authenticated
const isAuthenticated = await logto.isAuthenticated();
if (isAuthenticated) {
// Perform actions for authenticated users
} else {
// Redirect to sign-in page
await logto.signIn('https://your-app.com/callback');
}
// Sign out user
await logto.signOut('https://your-app.com/home');
// Revoke access token
await logto.revokeToken();
Getting Started
-
Install Logto SDK:
npm install @logto/js
-
Initialize Logto client:
import { LogtoClient } from '@logto/js'; const logto = new LogtoClient({ endpoint: 'https://your-logto-endpoint.com', appId: 'your-application-id', });
-
Implement sign-in flow:
const signIn = async () => { await logto.signIn('https://your-app.com/callback'); };
-
Fetch user information:
const getUserInfo = async () => { const userInfo = await logto.fetchUserInfo(); console.log(userInfo); };
For more detailed instructions and advanced usage, refer to the official Logto documentation.
Competitor Comparisons
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Pros of SuperTokens
- More flexible and customizable authentication flows
- Extensive documentation and community support
- Self-hosted option for complete data control
Cons of SuperTokens
- Steeper learning curve for beginners
- Less out-of-the-box features compared to Logto
Code Comparison
SuperTokens:
import SuperTokens from "supertokens-node";
import Session from "supertokens-node/recipe/session";
SuperTokens.init({
appInfo: {
apiDomain: "...",
appName: "...",
websiteDomain: "..."
},
recipeList: [Session.init()]
});
Logto:
import { LogtoClient } from '@logto/node';
const logto = new LogtoClient({
endpoint: 'https://logto.dev',
appId: 'app_id',
appSecret: 'app_secret',
});
Both SuperTokens and Logto offer robust authentication solutions, but they cater to different needs. SuperTokens provides more flexibility and customization options, making it suitable for complex authentication requirements. However, this comes at the cost of a steeper learning curve. Logto, on the other hand, offers a more streamlined setup process and out-of-the-box features, making it easier for beginners to implement authentication quickly. The choice between the two depends on the specific needs of the project and the development team's expertise.
The most scalable and customizable identity server on the market. Replace your Homegrown, Auth0, Okta, Firebase with better UX and DX. Has all the tablestakes: Passkeys, Social Sign In, Multi-Factor Auth, SMS, SAML, TOTP, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Pros of Kratos
- More mature project with a larger community and ecosystem
- Highly flexible and customizable for complex identity management scenarios
- Supports multiple authentication methods out of the box (e.g., password, WebAuthn, TOTP)
Cons of Kratos
- Steeper learning curve due to its modular architecture
- Requires more configuration and setup compared to Logto's simpler approach
- Less focus on user interface components, requiring more frontend development
Code Comparison
Kratos configuration (YAML):
selfservice:
strategies:
password:
enabled: true
oidc:
enabled: true
config:
providers:
- id: google
provider: google
client_id: ...
client_secret: ...
Logto configuration (TypeScript):
import { LogtoConfig } from '@logto/node';
const config: LogtoConfig = {
endpoint: 'https://example.logto.app/',
appId: 'your-application-id',
appSecret: 'your-application-secret',
};
Both projects aim to provide identity and access management solutions, but they differ in their approach and target audience. Kratos offers more flexibility and advanced features for complex scenarios, while Logto focuses on simplicity and ease of use for developers who want a quick setup with minimal configuration.
Open Source Identity and Access Management For Modern Applications and Services
Pros of Keycloak
- More mature and battle-tested, with a larger community and extensive documentation
- Offers a wider range of features and integrations out-of-the-box
- Supports multiple deployment options, including standalone and clustered setups
Cons of Keycloak
- Steeper learning curve and more complex configuration
- Heavier resource consumption, which may impact performance on smaller systems
- Less modern user interface compared to Logto
Code Comparison
Keycloak (Java):
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
AuthenticationManager.AuthResult authResult = AuthenticationManager.authenticateBearerToken(session);
if (authResult == null) {
resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
// ... rest of the code
}
Logto (TypeScript):
app.use(async (ctx, next) => {
const { authorization } = ctx.header;
if (!authorization) {
ctx.status = 401;
return;
}
const user = await verifyJwtToken(authorization);
ctx.state.user = user;
await next();
});
Both repositories provide authentication and authorization solutions, but Keycloak offers a more comprehensive feature set at the cost of complexity, while Logto focuses on simplicity and modern user experience.
Authentication for the Web.
Pros of Next-Auth
- Seamless integration with Next.js applications
- Extensive support for various authentication providers
- Active community and regular updates
Cons of Next-Auth
- Limited to Next.js framework
- Requires more setup for advanced authentication scenarios
Code Comparison
Next-Auth:
import NextAuth from "next-auth"
import Providers from "next-auth/providers"
export default NextAuth({
providers: [
Providers.GitHub({
clientId: process.env.GITHUB_ID,
clientSecret: process.env.GITHUB_SECRET
}),
],
})
Logto:
import { LogtoClient } from '@logto/browser';
const logto = new LogtoClient({
endpoint: 'https://your-logto-endpoint',
appId: 'your-application-id',
});
await logto.signIn('http://localhost:3000/callback');
Key Differences
- Next-Auth is specifically designed for Next.js applications, while Logto is a more general-purpose authentication solution.
- Logto offers a more comprehensive identity management system, including user management and access control.
- Next-Auth provides easier integration with various OAuth providers, while Logto focuses on providing a complete authentication and authorization platform.
Both solutions offer robust authentication capabilities, but they cater to different use cases and project requirements. The choice between them depends on the specific needs of your application and development ecosystem.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Logto1 is an Auth0 alternative designed for modern apps and SaaS products. It offers a seamless developer experience and is well-suited for individuals and growing companies.
ð§âð» Comprehensive frontend-to-backend identity solution
- Enables OIDC-based authentication with Logto SDKs.
- Supports passwordless sign-in, along with various options like email, phone number, username, Google, Facebook, and other social sign-in methods.
- Offers beautiful UI components with customizable CSS to suit your business needs.
- Has an open community with many warm-hearted contributors and users. Check out our awesome list of community-contributed resources.
ð¦ Out-of-the-box infrastructure
- Includes a ready-to-use Management API, serving as your authentication provider, thus eliminating the need for extra implementation.
- Provides SDKs that seamlessly integrate your apps with Logto across multiple platforms and languages, tailored to your development environment.
- Offers flexible connectors that can be scaled with community contributions and customized with SAML, OAuth, and OIDC protocols.
ð» Enterprise-ready solutions
- Implements role-based access control (RBAC) for scalable role authorization, catering to a wide range of use cases.
- Facilitates user management and provides audit logs for understanding identity-related user information and maintaining security.
- Enables single sign-on (SSO) and multi-factor authentication (MFA) without extra coding.
- Leverages Logto organizations to build multi-tenancy apps with ease.
In a more approachable way, we refer to this solution as "Customer Identity Access Management (CIAM)" or simply, the "Customer Identity Solution."
[!IMPORTANT] Subscribe to us now to stay updated with the latest information about the Logto Cloud (SaaS) and receive feature updates in real-time.
Get started
- Visit our ð¨ website for a brief introduction if you are new to Logto.
- A step-by-step guide is available on ð docs.logto.io.
Interactive demo
-
Try Logto Cloud to have the same dev experience and zero deployment overhead.
-
If you launch Logto via GitPod, please wait until you see the message like
App is running at https://3002-...gitpod.io
in the terminal, press Cmd (or Ctrl on Windows) and click the URL starts withhttps://3002-
to continue your Logto journey.
Launch Logto
Docker Compose
Docker Compose CLI usually comes with Docker Desktop.
curl -fsSL https://raw.githubusercontent.com/logto-io/logto/HEAD/docker-compose.yml | \
docker compose -p logto -f - up
npm-init
Requires Node.js ^20.9.0
+ PostgreSQL ^14.0
.
npm init @logto
Language support
const languages = ['Deutsch', 'English', 'Español', 'Français', 'Italiano', 'æ¥æ¬èª', 'íêµì´', 'Polski', 'Português', 'Ð ÑÑÑкий', 'Türkçe', 'ç®ä½ä¸æ', 'ç¹é«ä¸æ'];
Web compatibility
Logto uses the default browserslist config to compile frontend projects, which is:
> 0.5%, last 2 versions, Firefox ESR, not dead
Bug report, feature request, feedback
- Our team takes security seriously, especially when it relates to identity. If you find any existing or potential security issues, please do not hesitate to email ð security@logto.io.
- About other bug reports, feature requests, and feedback, you can:
- Directly ð open an issue on GitHub;
- ð¬ Join our Discord server to have a live chat.
Licensing
Contributing
We have a contributing guideline available. Feel free to contact us before coding.
Resources
Footnotes
-
Designed by Silverhand Inc. ↩
Top Related Projects
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
The most scalable and customizable identity server on the market. Replace your Homegrown, Auth0, Okta, Firebase with better UX and DX. Has all the tablestakes: Passkeys, Social Sign In, Multi-Factor Auth, SMS, SAML, TOTP, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Open Source Identity and Access Management For Modern Applications and Services
Authentication for the Web.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot