npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

remix-auth-trinsic

v1.0.0

Published

A Remix Auth strategy for working with Trinsic to accept eIDs

Downloads

9

Readme

TrinsicStrategy

Version Build Status

A Remix Auth strategy to work Trinsic's widget identity verification sessions

Supported runtimes

| Runtime | Has Support | | ---------- | ----------- | | Node.js | ✅ | | Cloudflare | ✅ |

How to use

This Strategy gives you back on the verify function Trinsic's GetSessionResultResponse data and the instance of the request.

This let you use Trinsic's digital identity network to authenticate users. You'll obviously need an account with Trinsic and an app set up with them to use this strategy.

First, install the strategy and Remix Auth.

$ npm install remix-auth remix-auth-trinsic

Then, create an Authenticator instance.

import { Authenticator } from "remix-auth";
import { User } from "~/models/user";

export let authenticator = new Authenticator<User>();

And you can tell the authenticator to use the FormStrategy.

import { TrinsicStrategy } from "remix-auth-trinsic";

authenticator.use(
  new TrinsicStrategy<User>(
    {
      accessToken: process.env.TRINSIC_ACCESS_TOKEN,
      redirectUrl: "https://example.com/auth/callback",
      providers: ["clear", "yoti", "ca-mdl"], // optional
      knownIdentityData: { ... } // optional
    },
    async ({ results }) => {
      const data = results.identityData

      // process data to create/find a user

      return user;
    }
  ),
  // this is optional, but if you setup more than one Trinsic instance you will
  // need to set a custom name to each one, by default is "trinsic"
  "provider-name"
);

Then you will need to setup your routes, you will need to call the authenticate method twice.

First, you will call the authenticate method with the provider name you set in the authenticator.

export async function action({ request }: Route.ActionArgs) {
  await authenticator.authenticate("provider-name", request);
}

[!NOTE] This route can be an action or a loader, it depends if you trigger the flow doing a POST or GET request.

This will start the verification flow and redirect the user to Trinsic. Once the user completes the identity verification, Trinsic will redirect the user back to your application redirect URL.

You will now need a route on that URL to handle the callback from Trinsic.

export async function loader({ request }: Route.LoaderArgs) {
  let user = await authenticator.authenticate("provider-name", request);
  // now you have the user object with the data you returned in the verify function
}

[!NOTE] This route must be a loader as the redirect will trigger a GET request.

Once you have the user object returned by your strategy verify function, you can do whatever you want with that information. This can be storing the user in a session, creating a new user in your database, link the account to an existing user in your database, etc.