Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@netlify/auth0

Package Overview
Dependencies
Maintainers
20
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@netlify/auth0

The Netlify Auth0 wrapper makes it easy to use the Beta Auth0 integration on Netlify at runtime.

  • 0.1.3
  • latest
  • npm
  • Socket score

Version published
Maintainers
20
Created
Source

Netlify Auth0 Wrapper

The Netlify Auth0 wrapper makes it easy to use the Beta Auth0 integration on Netlify at runtime.

It makes use of the serverless-jwt package, and injects it with the values defined in the UI by using the integration.

Basic use

To add authentication and authorization checks to a handler, you can wrap it with the withAuth0 method.

// netlify/functions/user.ts
import type { Handler } from "@netlify/functions";
import { withAuth0 } from "@netlify/auth0";

export const handler: Handler = withAuth0(
  async (event, context) => {
    // The requesting user has the role "admin", so
    // we can return the data
    const users = [
        //....
    ];

    return {
      statusCode: 200,
      body: JSON.stringify(users),
    };
  },
  {
    auth0: {
      // Will return 401 if the user isn't authenticated
      required: true,
      // Will return 403 if the authenticated user does
      // not have the role "admin"
      roles: ["admin"],
    },
  }
);

To call this handler, you should pass a JWT token in the Authorization header with the prefix Bearer /

// In the frontend....
const userResponse = await fetch("/.netlify/functions/users", {
    method: "GET",
    headers: {
        "Authorization": `Bearer ${token}`
    }
});

// ...

Chaining

To chain with another integration, you can import the wrap method from @netlify/integrations. An example of this can be seen on the netlify docs.

Options

Options can be set by passing in an object to the second parameter of the withAuth0 method. To enable the chaining mentioned above, the object must have a property auth0 which has the option values set.

OptionTypeDescription
requiredboolIf set to true, the handler will return 401 if no token is present or the token is invalid
rolesstring[]If this array is truthy, it requires all roles to be present in the scope claim of the JWT

FAQs

Package last updated on 29 Jun 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc