Skip to content

Commit 1e46466

Browse files
Update README with comparison table and zero-dependency details
Add detailed comparison with @inrupt/solid-client-authn-browser and @inrupt/oidc-client showing size, dependencies, and build requirements. Update badges and feature list for AGPL and Web Crypto.
1 parent e994c7f commit 1e46466

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

README.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,39 @@
11
# solid-oidc
22

33
[![npm version](https://img.shields.io/npm/v/solid-oidc.svg)](https://www.npmjs.com/package/solid-oidc)
4-
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
4+
[![license](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)](LICENSE)
55
[![zero dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)](#)
6+
[![gzip size](https://img.shields.io/badge/gzip-4kb-brightgreen.svg)](#)
67

7-
**Minimal, zero-build Solid-OIDC client for browsers.**
8+
**Minimal, zero-build, zero-dependency Solid-OIDC client for browsers.**
89

9-
A single JavaScript file (~600 lines) that handles the complete Solid-OIDC authentication flow. No bundler, no transpiler, no build step required.
10+
A single JavaScript file (~700 lines, 4kb gzipped) that handles the complete Solid-OIDC authentication flow. No bundler, no transpiler, no build step, no npm dependencies. Uses the Web Crypto API natively.
1011

1112
[**Live Demo**](https://javascriptsolidserver.github.io/solid-oidc/example.html) · [**API Reference**](#api-reference) · [**Examples**](#advanced-usage)
1213

1314
---
1415

1516
## Why solid-oidc?
1617

17-
| Feature | solid-oidc | Other libraries |
18-
|---------|------------|-----------------|
19-
| **Size** | ~600 lines | 1,000–5,000 lines |
20-
| **Build step** | None | Required |
21-
| **Copy-paste ready** | Yes | No |
22-
| **Readable source** | Yes | Compiled/minified |
18+
| Feature | solid-oidc | @inrupt/solid-client-authn-browser | @inrupt/oidc-client |
19+
|---------|------------|-----------------------------------|---------------------|
20+
| **Unpacked size** | 34kb | 1,697kb | 18,704kb |
21+
| **Gzipped** | 4kb | ~170kb | ~2MB |
22+
| **Files in package** | 1 | 92 | 100+ |
23+
| **Lines of code** | ~700 | thousands | thousands |
24+
| **Dependencies** | 0 | 5 (+transitive) | 5 (+transitive) |
25+
| **Build step** | None | Rollup | Required |
26+
| **Copy-paste ready** | Yes | No | No |
27+
| **Readable source** | Yes | Compiled/minified | Compiled |
28+
| **Browser native crypto** | Yes (Web Crypto) | No (jose, uuid, events) | No (crypto-js, core-js) |
29+
| **License** | AGPL-3.0 | MIT | MIT |
2330

2431
## Features
2532

33+
- **Zero dependencies** — Pure Web Crypto API, nothing to install
2634
- **Zero build step** — Import from CDN or copy the file
2735
- **Single file** — One `solid-oidc.js`, nothing else
28-
- **~600 lines** — Readable, auditable, hackable
36+
- **~700 lines, 4kb gzipped** — Readable, auditable, hackable
2937
- **Full Solid-OIDC** — Login, logout, token refresh, authenticated fetch
3038
- **DPoP bound tokens** — Secure proof-of-possession (RFC 9449)
3139
- **Persistent sessions** — Survives page refresh via IndexedDB
@@ -282,6 +290,7 @@ This library implements:
282290
| [RFC 6749](https://tools.ietf.org/html/rfc6749) | OAuth 2.0 |
283291
| [RFC 7636](https://tools.ietf.org/html/rfc7636) | PKCE |
284292
| [RFC 9207](https://tools.ietf.org/html/rfc9207) | Authorization Server Issuer Identification |
293+
| [RFC 7638](https://tools.ietf.org/html/rfc7638) | JWK Thumbprint |
285294
| [RFC 9449](https://tools.ietf.org/html/rfc9449) | DPoP (Demonstration of Proof-of-Possession) |
286295
| [Solid-OIDC](https://solidproject.org/TR/oidc) | Solid OIDC Specification |
287296

@@ -321,4 +330,4 @@ Based on [solid-oidc-client-browser](https://github.com/uvdsl/solid-oidc-client-
321330

322331
## License
323332

324-
[MIT](LICENSE)
333+
[AGPL-3.0-or-later](LICENSE)

0 commit comments

Comments
 (0)