1.0.2 • Published 9 months ago

unified-auth-js v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Unified Auth Service

A TypeScript-based wrapper for multiple authentication providers, offering a unified interface for your authentication needs.

Overview

This project provides a seamless integration layer for various authentication providers, allowing developers to switch between different auth solutions without changing their application code. Currently supported providers include:

  • Supabase
  • Appwrite
  • NextAuth
  • Lucia
  • Clerk

Features

  • Unified Interface: Use a single set of methods for all supported auth providers.
  • Easy Provider Switching: Change your auth provider with minimal code changes.
  • TypeScript Support: Fully typed for better developer experience and code safety.
  • Extensible: Easily add support for new auth providers.

Installation

npm install unified-auth-js

Usage

  1. Import the library:
import { UnifiedAuth } from 'unified-auth-js';
  1. Initialize with your chosen provider:
const auth = new UnifiedAuth({
  provider: 'supabase',
  config: {
    // Provider-specific configuration
  }
});
  1. Use the unified methods:
// Sign up
await auth.signUp(email, password);

// Sign in
await auth.signIn(email, password);

// Sign out
await auth.signOut();

// Get current user
const user = await auth.getCurrentUser();

Supported Methods

  • signUp(email: string, password: string): Promise<User>
  • signIn(email: string, password: string): Promise<User>
  • signOut(): Promise<void>
  • getCurrentUser(): Promise<User | null>
  • resetPassword(email: string): Promise<void>
  • updateUser(data: Partial<User>): Promise<User>
  • deleteUser(): Promise<void>

Adding a New Provider

To add support for a new authentication provider:

  1. Create a new file in the src/providers directory (e.g., newProvider.ts).
  2. Implement the AuthProvider interface.
  3. Add the new provider to the ProviderType union in src/types.ts.
  4. Update the provider factory in src/UnifiedAuth.ts.

Contributing

Contributions are welcome! Please read our Contributing Guide for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago