1 | # Solid JavaScript authentication for the browser - solid-client-authn-browser
|
2 |
|
3 | `solid-client-authn-browser` is a library designed to authenticate web apps (in the browser) with Solid identity servers.
|
4 | The main documentation is at the [root of the repository](https://github.com/inrupt/solid-client-authn-js).
|
5 |
|
6 | ## Required polyfills
|
7 |
|
8 | Our JavaScript Client Libraries use relatively modern JavaScript features that
|
9 | will work in all commonly used browsers, except Internet Explorer. Additionally,
|
10 | `@inrupt/solid-client-authn-browser` currently expects the Node.js `events`
|
11 | module. Webpack versions before version 5 used to add a polyfill for that by
|
12 | default; if you do not use Webpack, or use version 5 or later, please install
|
13 | the `events` npm package as well.
|
14 |
|
15 | ## Underlying libraries
|
16 |
|
17 | `solid-client-authn-browser` is based on [`oidc-client-js`](https://github.com/IdentityModel/oidc-client-js).
|
18 | However, the latter lacks some features that are necessary to provide the developer experience we specifically want for the Solid ecosystem, so we developed [`oidc-client-ext`](https://www.npmjs.com/package/@inrupt/oidc-client-ext) to add these features.
|
19 |
|
20 | # Other Inrupt Solid JavaScript Libraries
|
21 | [`@inrupt/solid-client-authn-browser`](https://www.npmjs.com/package/@inrupt/solid-client-authn-browser )is part of a family open source JavaScript libraries designed to support developers building Solid applications.
|
22 |
|
23 | ## Inrupt Solid JavaScript Client Libraries
|
24 |
|
25 | ### Data access and permissions management - solid-client
|
26 |
|
27 | [@inrupt/solid-client](https://docs.inrupt.com/client-libraries/solid-client-js/) allows developers to access data and manage permissions on data stored in Solid Pods.
|
28 |
|
29 | ### Authentication - solid-client-authn
|
30 |
|
31 | [@inrupt/solid-client-authn](https://github.com/inrupt/solid-client-authn) allows developers to authenticate against a Solid server. This is necessary when the resources on your Pod are not public.
|
32 |
|
33 | ### Vocabularies and interoperability - solid-common-vocab-rdf
|
34 |
|
35 | [@inrupt/solid-common-vocab-rdf](https://github.com/inrupt/solid-common-vocab-rdf) allows developers to build interoperable apps by reusing well-known vocabularies. These libraries provide vocabulary terms as constants that you just have to import.
|
36 |
|
37 | # Issues & Help
|
38 |
|
39 | ## Solid Community Forum
|
40 |
|
41 | If you have questions about working with Solid or just want to share what you’re working on, visit the [Solid forum](https://forum.solidproject.org/). The Solid forum is a good place to meet the rest of the community.
|
42 |
|
43 | ## Bugs and Feature Requests
|
44 |
|
45 | - For public feedback, bug reports, and feature requests please file an issue via [GitHub](https://github.com/inrupt/solid-client-authn/issues/).
|
46 | - For non-public feedback or support inquiries please use the [Inrupt Service Desk](https://inrupt.atlassian.net/servicedesk).
|
47 |
|
48 | ## Prerequisite
|
49 |
|
50 | The `solid-client-authn` libraries are compatible with [NSS](https://github.com/solid/node-solid-server/releases/tag/v5.3.0) 5.3.X and higher.
|
51 |
|
52 | ## Documentation
|
53 |
|
54 | - [Using this library from within the browser](https://docs.inrupt.com/developer-tools/javascript/client-libraries/tutorial/authenticate/)
|
55 | - [Inrupt documentation Homepage](https://docs.inrupt.com/)
|