`solid-client-authn-node` is a library designed to authenticate Node.js apps (both scripts and full-blown Web servers) with Solid identity servers. The main documentation is at the [root of the repository](https://github.com/inrupt/solid-client-authn-js).

npm install @inrupt/solid-client-authn-node@1.4.3-release-495668063-3969-1611049607.0


Solid JavaScript Authentication - solid-client-authn

solid-client-authn is a set of libraries designed to authenticate with Solid identity servers. The libraries share a common API and include different modules for different deployment environments:

  • solid-client-authn-browser can be used to help build web apps in the browser.
  • solid-client-authn-node is planned to help build server-side and console-based apps.

@inrupt/solid-client-authn libraries are part of a family open source JavaScript libraries designed to support developers building Solid applications.

Inrupt Solid JavaScript Client Libraries

Data access and permissions management - solid-client

@inrupt/solid-client allows developers to access data and manage permissions on data stored in Solid Pods.

Authentication - solid-client-authn

@inrupt/solid-client-authn allows developers to authenticate against a Solid server. This is necessary when the resources on your Pod are not public.

Vocabularies and interoperability - solid-common-vocab-rdf

@inrupt/solid-common-vocab-rdf allows developers to build interoperable apps by reusing well-known vocabularies. These libraries provide vocabularies available as constants that you just have to import.

Authentication libraries

The different solid-client-authn libraries all share the same interface (see API reference). solid-client-authn includes two APIs for building applications: a "Single Session API" and a "Multi Session API".


Single session API

solid-client-authn's single session API is designed to provide a streamlined experience when implementing authentication in apps that focus on just one user. You'd use the single session API to:

  • Create a single page web application that only one user logs into at a time.
  • Make a bot that only represents one user.
  • Build a mobile application that only one user logs into at a time.


Multi Session API

solid-client-authn's "Multi Session API" allows you to manage multiple sessions for multiple logged in users at the same time. You'd use the multi session API to:

  • Create a web application with a server side component. While one user may be logged into each individual client, the server will need to manage all logged in users.
  • Make a bot that needs to operation on behalf of multiple users.
  • You have a single page application, but you want to maintain credentials on the server for security.
  • You want to log in multiple identities for either a single human user, or multiple users.

Setting up the examples

git clone https://github.com/inrupt/solid-client-authn.git
cd solid-client-authn
npm ci
npm run bootstrap-examples
# Run each example from the root
## single session API, bundler mode
cd examples/single/bundle
npm run start
## single session API, script mode
cd examples/single/script
npm run start

At this point, a test application will be running on port 3001. Be sure that you enter a valid Solid issuer before logging in , for example: https://identity.demo-ess.inrupt.com.

Issues & Help

Solid Community Forum

If you have questions about working with Solid or just want to share what you’re working on, visit the Solid forum. The Solid forum is a good place to meet the rest of the community.

Bugs and Feature Requests

  • For public feedback, bug reports, and feature requests please file an issue via GitHub.
  • For non-public feedback or support inquiries please use the Inrupt Service Desk.


Any of the solid-client-authn libraries require at least:

  • NodeJS 12.X.Y
  • npm 6.14.X Note: We recommand using nvm to manage your node version

The solid-client-authn libraries are compatible with NSS 5.3.X and higher.