UNPKG

3.42 kBMarkdownView Raw
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.
4The main documentation is at the [root of the repository](https://github.com/inrupt/solid-client-authn-js).
5
6## Required polyfills
7
8Our JavaScript Client Libraries use relatively modern JavaScript features that
9will work in all commonly used browsers, except Internet Explorer. However, one of
10the libraries we currently use expects some Node.js modules to be present, which must
11be polyfilled by the bundler. Here is the list of modules that need to be polyfilled:
12- `crypto`
13- `stream`
14- `util`
15- `buffer`
16
17Prior to Webpack version 5 these modules were polyfilled by default, but that is no longer the case.
18See
19[our Webpack configuration](https://github.com/inrupt/solid-client-authn-js/blob/master/packages/browser/webpack.common.js)
20for packages that can provide the necessary polyfills.
21
22## Underlying libraries
23
24`solid-client-authn-browser` is based on [`oidc-client-js`](https://github.com/IdentityModel/oidc-client-js).
25However, 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.
26
27# Other Inrupt Solid JavaScript Libraries
28[`@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.
29
30## Inrupt Solid JavaScript Client Libraries
31
32### Data access and permissions management - solid-client
33
34[@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.
35
36### Authentication - solid-client-authn
37
38[@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.
39
40### Vocabularies and interoperability - solid-common-vocab-rdf
41
42[@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.
43
44# Issues & Help
45
46## Solid Community Forum
47
48If 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.
49
50## Bugs and Feature Requests
51
52- For public feedback, bug reports, and feature requests please file an issue via [GitHub](https://github.com/inrupt/solid-client-authn/issues/).
53- For non-public feedback or support inquiries please use the [Inrupt Service Desk](https://inrupt.atlassian.net/servicedesk).
54
55## Prerequisite
56
57The `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.
58
59## Documentation
60
61- [Using this library from within the browser](https://docs.inrupt.com/developer-tools/javascript/client-libraries/tutorial/authenticate/)
62- [Inrupt documentation Homepage](https://docs.inrupt.com/)