stytch
    TypeScript icon, indicating that this package has built-in type declarations

    5.2.1 • Public • Published

    Stytch Node.js Library

    The Stytch Node library makes it easy to use the Stytch user infrastructure API in server-side JavaScript applications.

    It pairs well with the Stytch Web SDK or your own custom authentication flow.

    This library is tested with all current LTS versions of Node - 14, 16, and 18.

    Install

    npm install stytch
    # or
    yarn add stytch
    

    Usage

    You can find your API credentials in the Stytch Dashboard.

    This client library supports all of Stytch's live products:

    Example usage

    Create an API client:

    const stytch = require("stytch");
    // Or as an ES6 module:
    // import * as stytch from "stytch";
    
    const client = new stytch.Client({
      project_id: "project-live-c60c0abe-c25a-4472-a9ed-320c6667d317",
      secret: "secret-live-80JASucyk7z_G8Z-7dVwZVGXL5NT_qGAQ2I=",
      env: stytch.envs.test,
    });

    Send a magic link by email:

    client.magicLinks.email
      .loginOrCreate({
        email: "sandbox@stytch.com",
        login_magic_link_url: "https://example.com/authenticate",
        signup_magic_link_url: "https://example.com/authenticate",
      })
      .then((res) => console.log(res))
      .catch((err) => console.error(err));

    Authenticate the token from the magic link:

    client.magicLinks
      .authenticate("DOYoip3rvIMMW5lgItikFK-Ak1CfMsgjuiCyI7uuU94=")
      .then((res) => console.log(res))
      .catch((err) => console.error(err));

    Handling Errors

    Stytch errors always include an error_type field you can use to identify them:

    client.magicLinks
      .authenticate("not-a-token!")
      .then((res) => console.log(res))
      .catch((err) => {
        if (err.error_type === "invalid_token") {
          console.log("Whoops! Try again?");
        }
      });

    Learn more about errors in the docs.

    Customizing the HTTPS Agent

    The Stytch client can be customized to use your own HTTPS agent. For example, you can enable HTTPS Keep-Alive to avoid the cost of establishing a new connection with the Stytch servers on every request.

    const agent = new https.Agent({
      keepAlive: true
    })
    
    const client = new stytch.Client({
      project_id: "project-live-c60c0abe-c25a-4472-a9ed-320c6667d317",
      secret: "secret-live-80JASucyk7z_G8Z-7dVwZVGXL5NT_qGAQ2I=",
      env: stytch.envs.test,
      agent,
    });

    Documentation

    See example requests and responses for all the endpoints in the Stytch API Reference.

    Follow one of the integration guides or start with one of our example apps.

    Support

    If you've found a bug, open an issue!

    If you have questions or want help troubleshooting, join us in Slack or email support@stytch.com.

    If you've found a security vulnerability, please follow our responsible disclosure instructions.

    Development

    See DEVELOPMENT.md

    Code of Conduct

    Everyone interacting in the Stytch project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

    Keywords

    none

    Install

    npm i stytch

    DownloadsWeekly Downloads

    1,959

    Version

    5.2.1

    License

    MIT

    Unpacked Size

    64.3 kB

    Total Files

    31

    Last publish

    Collaborators

    • julianna-stytch
    • marygruen
    • reed-stytch
    • grace-stytch
    • alex-stytch
    • jeremy-stytch
    • danny-stytch
    • max-stytch
    • kaden-stytch
    • nikhil-stytch
    • cal-stytch
    • austin-stytch
    • mia-stytch