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.
- 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.
Install the package using your preferred package manager:
npm install @vdtech/remix-auth-strategies
# or
yarn add @vdtech/remix-auth-strategies
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 };
}
);
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 };
}
);
Runtime | Has Support |
---|---|
Node.js | ✅ |
Cloudflare | ✅ |
Contributions are welcome! Please read the CONTRIBUTING.md for guidelines on how to contribute to this project.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the Remix Auth community for their support and contributions.