@vdtech/remix-auth-strategies
v0.0.6
Published
A collection of authentication strategies for Remix Auth, designed to simplify the integration of various OAuth2 providers.
Downloads
3
Maintainers
Readme
Remix Auth - Strategies
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.