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-browsercan be used to help build web apps in the browser.
solid-client-authn-nodeis planned to help build server-side and console-based apps.
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.
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
Be sure that you enter a valid Solid issuer before logging in
, for example:
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
solid-client-authn libraries are compatible with NSS 5.3.X and higher.