@gaballahtech/seba 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +4 -2
- package/CHANGELOG.md +130 -0
- package/MIGRATION.md +60 -0
- package/README.md +174 -8
- package/SECURITY.md +1 -1
- package/assets/seba-icon-favicon.png +0 -0
- package/assets/seba-icon-solid.png +0 -0
- package/assets/seba-logo-inverse.png +0 -0
- package/assets/seba-logo-monochrome.png +0 -0
- package/assets/seba-logo-primary.png +0 -0
- package/dist/assets/icons.d.ts +32 -0
- package/dist/assets/icons.d.ts.map +1 -0
- package/dist/assets/icons.js +30 -0
- package/dist/assets/icons.js.map +1 -0
- package/dist/assets/png-data.d.ts +8 -0
- package/dist/assets/png-data.d.ts.map +1 -0
- package/dist/assets/png-data.js +13 -0
- package/dist/assets/png-data.js.map +1 -0
- package/dist/browser/platform.d.ts +6 -0
- package/dist/browser/platform.d.ts.map +1 -1
- package/dist/browser/platform.js +17 -0
- package/dist/browser/platform.js.map +1 -1
- package/dist/browser/storage.d.ts +3 -2
- package/dist/browser/storage.d.ts.map +1 -1
- package/dist/browser/storage.js +26 -14
- package/dist/browser/storage.js.map +1 -1
- package/dist/cli.d.ts +61 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +223 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/client.d.ts +18 -8
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +130 -6
- package/dist/core/client.js.map +1 -1
- package/dist/core/errors.d.ts +10 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +7 -2
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events.d.ts +27 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +45 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +6 -1
- package/dist/core/http.js.map +1 -1
- package/dist/core/oidc.d.ts +17 -0
- package/dist/core/oidc.d.ts.map +1 -1
- package/dist/core/oidc.js +61 -27
- package/dist/core/oidc.js.map +1 -1
- package/dist/core/session.d.ts +10 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +131 -20
- package/dist/core/session.js.map +1 -1
- package/dist/element.d.ts +43 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +416 -0
- package/dist/element.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/pod.d.ts +50 -0
- package/dist/pod.d.ts.map +1 -0
- package/dist/pod.js +264 -0
- package/dist/pod.js.map +1 -0
- package/dist/react/index.d.ts +52 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +87 -0
- package/dist/react/index.js.map +1 -0
- package/dist/seba.d.ts +40 -1
- package/dist/seba.d.ts.map +1 -1
- package/dist/seba.js +90 -2
- package/dist/seba.js.map +1 -1
- package/dist/types.d.ts +110 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -1
package/dist/types.d.ts
CHANGED
|
@@ -33,8 +33,10 @@ export interface SebaConfig {
|
|
|
33
33
|
* Session storage backend. Defaults to `"indexeddb"` in browsers and
|
|
34
34
|
* `"memory"` in Node.js.
|
|
35
35
|
*
|
|
36
|
-
* `"indexeddb"` persists
|
|
37
|
-
*
|
|
36
|
+
* `"indexeddb"` persists the refresh token, the DPoP private key and non-secret
|
|
37
|
+
* session metadata. If the provider issues no refresh token, the access token is
|
|
38
|
+
* persisted as well (soft-persist) so a reload can resume the session until it
|
|
39
|
+
* expires; refresh-token sessions never persist an access token.
|
|
38
40
|
*/
|
|
39
41
|
storage?: StorageKind;
|
|
40
42
|
/**
|
|
@@ -73,6 +75,69 @@ export interface SebaConfig {
|
|
|
73
75
|
* ```
|
|
74
76
|
*/
|
|
75
77
|
allowNonCompliantAudience?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Opt-in escape hatch for non-compliant Solid providers (see Security guide).
|
|
80
|
+
*
|
|
81
|
+
* Solid-OIDC §8.1 requires the ID token to carry a `cnf` claim with a `jkt` member
|
|
82
|
+
* binding it to the DPoP key when the provider advertises the `webid` scope. Some
|
|
83
|
+
* real-world providers (e.g. `solidcommunity.net`) omit `cnf.jkt` from the ID token
|
|
84
|
+
* while still issuing DPoP-bound access tokens. When `true`, the `cnf.jkt` presence
|
|
85
|
+
* requirement is relaxed for such ID tokens — everything else stays enforced: DPoP
|
|
86
|
+
* proofs are still signed and required on every request, an ID token that DOES carry
|
|
87
|
+
* `cnf.jkt` is still checked against the session key, and signature verification,
|
|
88
|
+
* `iss`, `exp`/`iat`, `nonce`, `azp` and the `client_id` audience check all remain on.
|
|
89
|
+
*
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
allowNonCompliantCnf?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Compliance relaxations keyed by provider issuer URL, applied only when the login
|
|
95
|
+
* targets that exact issuer (compared after normalizing an optional trailing slash).
|
|
96
|
+
* Entries override the global boolean flags for that provider, and providers NOT
|
|
97
|
+
* listed keep full strict validation — prefer this over the global flags whenever
|
|
98
|
+
* the application talks to more than one provider.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* tolerances: {
|
|
103
|
+
* "https://solidcommunity.net/": { allowNonCompliantAudience: true, allowNonCompliantCnf: true },
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
tolerances?: Record<string, ComplianceTolerances>;
|
|
108
|
+
/**
|
|
109
|
+
* How many `use_dpop_nonce` challenges the token endpoint may issue before SEBA
|
|
110
|
+
* gives up. Each retry signs a brand-new DPoP proof with the fresh nonce. The
|
|
111
|
+
* resource-fetch path applies the same count. Providers that rotate nonces on
|
|
112
|
+
* every request benefit from 2–3.
|
|
113
|
+
*
|
|
114
|
+
* @defaultValue 1
|
|
115
|
+
*/
|
|
116
|
+
maxDpopNonceRetries?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Storage namespace enabling more than one concurrent session in the same browser
|
|
119
|
+
* profile (multi-account). Each distinct account value gets its own IndexedDB
|
|
120
|
+
* database (`seba:<account>`) and sessionStorage transaction key, so two `Seba`
|
|
121
|
+
* instances with different accounts do not overwrite each other. Node.js sessions
|
|
122
|
+
* are already per-instance in memory.
|
|
123
|
+
*
|
|
124
|
+
* @defaultValue undefined (single unnamed session, as in earlier releases)
|
|
125
|
+
*/
|
|
126
|
+
account?: string;
|
|
127
|
+
}
|
|
128
|
+
/** Relaxations for a single provider, used by {@link SebaConfig.tolerances}. */
|
|
129
|
+
export interface ComplianceTolerances {
|
|
130
|
+
/** Relax the `"solid"` ID-token audience requirement for this provider. */
|
|
131
|
+
allowNonCompliantAudience?: boolean;
|
|
132
|
+
/** Relax the `cnf.jkt` presence requirement on this provider's ID tokens. */
|
|
133
|
+
allowNonCompliantCnf?: boolean;
|
|
134
|
+
}
|
|
135
|
+
/** Token-free snapshot of session state, safe to render or log. */
|
|
136
|
+
export interface SessionInfo {
|
|
137
|
+
webId: string;
|
|
138
|
+
provider: string;
|
|
139
|
+
/** Access token expiry (epoch milliseconds), or `null` when unknown. */
|
|
140
|
+
accessTokenExpiresAt: number | null;
|
|
76
141
|
}
|
|
77
142
|
/** Optional identity hints for {@link Seba.login}. */
|
|
78
143
|
export interface LoginOptions {
|
|
@@ -94,11 +159,30 @@ export interface Session {
|
|
|
94
159
|
/** Identity provider issuer URL that was validated for this session. */
|
|
95
160
|
provider: string;
|
|
96
161
|
}
|
|
162
|
+
/** Why a session changed. */
|
|
163
|
+
export type SessionChangeReason = "login" | "logout" | "restore" | "expired";
|
|
164
|
+
/**
|
|
165
|
+
* Emitted after every session transition.
|
|
166
|
+
*
|
|
167
|
+
* `expired` fires at most once per session, the first time SEBA determines that the
|
|
168
|
+
* session cannot continue (revoked grant, expired stored token with no refresh token,
|
|
169
|
+
* or an access token rejected with no way to renew it). It is also emitted with
|
|
170
|
+
* `session: null`.
|
|
171
|
+
*/
|
|
172
|
+
export interface SessionChangeEvent {
|
|
173
|
+
/** Transition that just happened. */
|
|
174
|
+
readonly reason: SessionChangeReason;
|
|
175
|
+
/** Session after the transition, or `null` after logout/expiry. */
|
|
176
|
+
readonly session: Session | null;
|
|
177
|
+
}
|
|
178
|
+
/** Listener accepted by `onSessionChange`. */
|
|
179
|
+
export type SessionChangeListener = (event: SessionChangeEvent) => void;
|
|
97
180
|
/**
|
|
98
181
|
* A token response that passed validation.
|
|
99
182
|
*
|
|
100
|
-
* Access tokens are
|
|
101
|
-
*
|
|
183
|
+
* Access tokens are never exposed by the public API. They stay in memory, except
|
|
184
|
+
* when the provider issues no refresh token: then the access token is persisted so
|
|
185
|
+
* a reload can resume the session until it expires.
|
|
102
186
|
*/
|
|
103
187
|
export interface TokenSet {
|
|
104
188
|
/** DPoP-bound access token. In memory only. */
|
|
@@ -169,6 +253,17 @@ export interface OIDCConfiguration {
|
|
|
169
253
|
* `client_id` audience check. Default `false`.
|
|
170
254
|
*/
|
|
171
255
|
allowNonCompliantAudience?: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Opt-in escape hatch for non-compliant Solid providers (see SECURITY.md).
|
|
258
|
+
*
|
|
259
|
+
* When `true`, the `cnf.jkt` presence requirement on the ID token is relaxed for
|
|
260
|
+
* providers whose ID tokens carry no DPoP binding while the provider still issues
|
|
261
|
+
* DPoP-bound access tokens (e.g. `solidcommunity.net`). DPoP proofs remain mandatory
|
|
262
|
+
* on every request, an ID token that DOES carry `cnf.jkt` is still checked against
|
|
263
|
+
* the session key, and signature, `iss`, `exp`/`iat`, `nonce` and the `client_id`
|
|
264
|
+
* audience check all stay enforced. Default `false`.
|
|
265
|
+
*/
|
|
266
|
+
allowNonCompliantCnf?: boolean;
|
|
172
267
|
}
|
|
173
268
|
/** A validated Solid Client ID Document. */
|
|
174
269
|
export interface ClientIDDocument {
|
|
@@ -212,8 +307,17 @@ export interface PersistedSession {
|
|
|
212
307
|
provider: string;
|
|
213
308
|
/** Client identifier the session was created for. */
|
|
214
309
|
clientId: string;
|
|
215
|
-
/** Refresh token
|
|
216
|
-
refreshToken
|
|
310
|
+
/** Refresh token, when the provider issued one. */
|
|
311
|
+
refreshToken?: string;
|
|
312
|
+
/**
|
|
313
|
+
* Access token, stored only when the provider issued no refresh token so that
|
|
314
|
+
* {@link Seba.restoreSession} can resume the session until it expires.
|
|
315
|
+
*/
|
|
316
|
+
accessToken?: string;
|
|
317
|
+
/** Expiry of the stored access token (epoch ms), or `null` when unknown. */
|
|
318
|
+
accessTokenExpiresAt?: number | null;
|
|
319
|
+
/** `sub` claim, when known. */
|
|
320
|
+
subject?: string;
|
|
217
321
|
/** DPoP private key bound to the refresh token. */
|
|
218
322
|
key: PersistedKey;
|
|
219
323
|
/** Granted scopes, when known. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaballahtech/seba",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Developer-friendly Solid-OIDC authentication: login, session restoration and DPoP-signed fetch in four methods.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "gaballahtech",
|
|
@@ -17,26 +17,41 @@
|
|
|
17
17
|
"module": "./dist/index.js",
|
|
18
18
|
"types": "./dist/index.d.ts",
|
|
19
19
|
"sideEffects": false,
|
|
20
|
+
"browser": {
|
|
21
|
+
"./dist/node/index.js": false,
|
|
22
|
+
"./dist/node/platform.js": false
|
|
23
|
+
},
|
|
20
24
|
"exports": {
|
|
21
25
|
".": {
|
|
22
26
|
"types": "./dist/index.d.ts",
|
|
27
|
+
"browser": "./dist/browser/index.js",
|
|
23
28
|
"default": "./dist/index.js"
|
|
24
29
|
},
|
|
25
30
|
"./browser": {
|
|
26
31
|
"types": "./dist/browser/index.d.ts",
|
|
32
|
+
"browser": "./dist/browser/index.js",
|
|
27
33
|
"default": "./dist/browser/index.js"
|
|
28
34
|
},
|
|
29
35
|
"./node": {
|
|
30
36
|
"types": "./dist/node/index.d.ts",
|
|
37
|
+
"node": "./dist/node/index.js",
|
|
31
38
|
"default": "./dist/node/index.js"
|
|
32
39
|
},
|
|
40
|
+
"./react": {
|
|
41
|
+
"types": "./dist/react/index.d.ts",
|
|
42
|
+
"import": "./dist/react/index.js",
|
|
43
|
+
"default": "./dist/react/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./assets/*": "./assets/*",
|
|
33
46
|
"./package.json": "./package.json"
|
|
34
47
|
},
|
|
35
48
|
"files": [
|
|
36
49
|
"dist",
|
|
50
|
+
"assets",
|
|
37
51
|
"examples",
|
|
38
52
|
"README.md",
|
|
39
53
|
"CHANGELOG.md",
|
|
54
|
+
"MIGRATION.md",
|
|
40
55
|
"BUILD_REPORT.md",
|
|
41
56
|
"VALIDATION_REPORT.md",
|
|
42
57
|
"LICENSE",
|
|
@@ -70,6 +85,14 @@
|
|
|
70
85
|
"idb": "^8.0.3",
|
|
71
86
|
"jose": "^6.1.0"
|
|
72
87
|
},
|
|
88
|
+
"peerDependencies": {
|
|
89
|
+
"react": ">=18"
|
|
90
|
+
},
|
|
91
|
+
"peerDependenciesMeta": {
|
|
92
|
+
"react": {
|
|
93
|
+
"optional": true
|
|
94
|
+
}
|
|
95
|
+
},
|
|
73
96
|
"devDependencies": {
|
|
74
97
|
"@types/node": "^24.7.0",
|
|
75
98
|
"@types/react": "^19.3.0",
|
|
@@ -81,5 +104,8 @@
|
|
|
81
104
|
"typescript": "^5.9.3",
|
|
82
105
|
"vite": "^8.3.6",
|
|
83
106
|
"vitest": "^5.1.0"
|
|
107
|
+
},
|
|
108
|
+
"bin": {
|
|
109
|
+
"seba": "./dist/cli.js"
|
|
84
110
|
}
|
|
85
111
|
}
|