Skip to content

A collection of authentication strategies for Remix Auth, designed to simplify the integration of various OAuth2 providers.

License

Notifications You must be signed in to change notification settings

vd-tech/remix-auth-strategies

Repository files navigation

Remix Auth - Strategies

NPM Version CI Documentation License: MIT Node Version TypeScript

A collection of authentication strategies for Remix Auth, designed to simplify the integration of various OAuth2 providers.

This repository provides a set of pre-built strategies for use with Remix Auth, allowing developers to easily integrate authentication with popular OAuth2 providers like Azure AD B2C and Auth0. Each strategy is designed to be flexible and customizable, supporting a wide range of use cases and configurations.

Features

  • Multiple Strategies: Includes strategies for Azure AD B2C and Auth0, with more to come.
  • Customizable: Easily configure scopes, prompts, and other OAuth2 parameters.
  • TypeScript Support: Fully typed for a better development experience.
  • Tested: Each strategy comes with a comprehensive suite of tests to ensure reliability.

Installation

Install the package using your preferred package manager:

npm install @vdtech/remix-auth-strategies
# or
yarn add @vdtech/remix-auth-strategies

Usage

Azure Strategy

import { AzureStrategy } from "@vdtech/remix-auth-strategies/azure";

const azureStrategy = new AzureStrategy(
  {
    domain: "your-tenant.b2clogin.com",
    tenant: "your-tenant",
    policy: "B2C_1_signin",
    clientId: "your-client-id",
    clientSecret: "your-client-secret",
    redirectURI: "http://localhost:3000/auth/callback",
    scopes: ["openid", "profile", "offline_access"],
    prompt: "login",
  },
  async ({ tokens, request }) => {
    // Handle user verification here
    let user = await getUser(tokens, request);
    return { id: user.id, email: user.email };
  }
);

Auth0 Strategy

import { Auth0Strategy } from "@vdtech/remix-auth-strategies/auth0";

const auth0Strategy = new Auth0Strategy(
  {
    domain: "your-domain.auth0.com",
    clientId: "your-client-id",
    clientSecret: "your-client-secret",
    redirectURI: "http://localhost:3000/auth/callback",
    scopes: ["openid", "profile", "email"],
  },
  async ({ tokens, request }) => {
    // Handle user verification here
    let user = await getUser(tokens, request);
    return { id: user.id, email: user.email };
  }
);

Supported Runtimes

Runtime Has Support
Node.js
Cloudflare

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md for guidelines on how to contribute to this project.

License

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

Maintainers

Acknowledgments

Special thanks to the Remix Auth community for their support and contributions.

About

A collection of authentication strategies for Remix Auth, designed to simplify the integration of various OAuth2 providers.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 3

  •  
  •  
  •