@atlasauth/chrome-extension 0.2.0 → 0.2.1
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/CHANGELOG.md +25 -0
- package/dist/client.js +8 -1
- package/dist/client.js.map +1 -1
- package/dist/native-session.js +7 -1
- package/dist/native-session.js.map +1 -1
- package/package.json +5 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# @atlasauth/chrome-extension changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.1
|
|
4
|
+
- **`frontendApi` is validated at start-up.** A missing, empty or malformed value now throws an
|
|
5
|
+
`AtlasConfigError` (from `@atlasauth/js`; `code: 'FRONTEND_API_REQUIRED'` or `'FRONTEND_API_INVALID'`)
|
|
6
|
+
instead of silently sending requests to relative URLs on the app's own origin. Accepted: an absolute
|
|
7
|
+
`https:` URL (`http:` only for localhost / local development hosts). An extension origin cannot host the Frontend API, so `"same-origin"` is refused.
|
|
8
|
+
|
|
9
|
+
## 0.2.0
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- Native-session support: `createNativeSessionManager()` returns a `NativeSessionManager` backed by `chrome.storage`, rehydrating a stored session and persisting each rotated refresh token. Options are typed as `NativeSessionOptions`.
|
|
13
|
+
- `clearNativeSession()` to remove the persisted native session on sign-out, and `DEFAULT_NATIVE_SESSION_KEY`.
|
|
14
|
+
- Re-exports `NativeSessionManager`, `NativeSession`, `exchangeForSession()` and `refreshNativeSession()` from `@atlasauth/js`. All are also available from `@atlasauth/chrome-extension/background`.
|
|
15
|
+
|
|
16
|
+
## 0.1.0
|
|
17
|
+
|
|
18
|
+
First published release.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Manifest V3 support with a React-free root entry, safe to import from a background service worker or content script.
|
|
22
|
+
- `StorageCache` token store over `chrome.storage.local` (`TokenStore`, `ChromeStorageArea`, `DEFAULT_TOKEN_KEY`), plus `createMemoryStorageArea()` for tests.
|
|
23
|
+
- `createAtlasClient()` returning an `AtlasClient` whose requests carry the session token as a bearer, and `syncSessionToken()` for background token refresh; helpers `bearerFetch()`, `persistingBearerFetch()` and `decodeTokenClaims()`.
|
|
24
|
+
- `@atlasauth/chrome-extension/background` entry exposing the same helpers for service workers.
|
|
25
|
+
- `@atlasauth/chrome-extension/react` entry with an `AtlasProvider` wired to extension storage and a re-export of `@atlasauth/react`. React is an optional peer.
|
package/dist/client.js
CHANGED
|
@@ -83,11 +83,18 @@ function persistingBearerFetch(fetchImpl, store) {
|
|
|
83
83
|
* the same in a service worker as on a page.
|
|
84
84
|
*/
|
|
85
85
|
function createAtlasClient(options) {
|
|
86
|
+
// Throws an `AtlasConfigError` on a missing/invalid value. An extension's own
|
|
87
|
+
// origin (chrome-extension://…) is not where the Frontend API lives, so
|
|
88
|
+
// "same-origin" / a bare path is refused too.
|
|
89
|
+
const baseUrl = (0, js_1.resolveFrontendApi)(options.frontendApi, {
|
|
90
|
+
component: 'createAtlasClient()',
|
|
91
|
+
allowSameOrigin: false,
|
|
92
|
+
});
|
|
86
93
|
const store = options.store ?? new storage_1.StorageCache();
|
|
87
94
|
const fetchImpl = options.fetchImpl ?? fetch;
|
|
88
95
|
const fapi = new js_1.FapiClient({
|
|
89
96
|
publishableKey: options.publishableKey,
|
|
90
|
-
baseUrl
|
|
97
|
+
baseUrl,
|
|
91
98
|
fetchImpl: bearerFetch(fetchImpl, store),
|
|
92
99
|
});
|
|
93
100
|
const client = {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/native-session.js
CHANGED
|
@@ -30,10 +30,16 @@ exports.DEFAULT_NATIVE_SESSION_KEY = '__atlas_native_session';
|
|
|
30
30
|
* surface — and the next cold start — picks up the rotated refresh token.
|
|
31
31
|
*/
|
|
32
32
|
async function createNativeSessionManager(options) {
|
|
33
|
+
// An extension's own origin (chrome-extension://…) is not where the Frontend
|
|
34
|
+
// API lives, so "same-origin" / a bare path is refused along with a missing value.
|
|
35
|
+
const baseUrl = (0, js_1.resolveFrontendApi)(options.frontendApi, {
|
|
36
|
+
component: 'createNativeSessionManager()',
|
|
37
|
+
allowSameOrigin: false,
|
|
38
|
+
});
|
|
33
39
|
const store = options.store ?? new storage_1.StorageCache({ key: exports.DEFAULT_NATIVE_SESSION_KEY });
|
|
34
40
|
const initial = (0, js_1.parseNativeSession)(await store.getToken()) ?? undefined;
|
|
35
41
|
return new js_1.NativeSessionManager({
|
|
36
|
-
baseUrl
|
|
42
|
+
baseUrl,
|
|
37
43
|
publishableKey: options.publishableKey,
|
|
38
44
|
clientId: options.clientId,
|
|
39
45
|
initial,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-session.js","sourceRoot":"","sources":["../src/native-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"native-session.js","sourceRoot":"","sources":["../src/native-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AA0CH,gEAyBC;AAGD,gDAEC;AAtED,sCAMuB;AACvB,uCAA0D;AAE1D,4EAA4E;AAC/D,QAAA,0BAA0B,GAAG,wBAAwB,CAAC;AAqBnE;;;;;;;;GAQG;AACI,KAAK,UAAU,0BAA0B,CAC9C,OAA6B;IAE7B,6EAA6E;IAC7E,mFAAmF;IACnF,MAAM,OAAO,GAAG,IAAA,uBAAkB,EAAC,OAAO,CAAC,WAAW,EAAE;QACtD,SAAS,EAAE,8BAA8B;QACzC,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,sBAAY,CAAC,EAAE,GAAG,EAAE,kCAA0B,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAA,uBAAkB,EAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC;IAExE,OAAO,IAAI,yBAAoB,CAAC;QAC9B,OAAO;QACP,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,4EAA4E;QAC5E,yCAAyC;QACzC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YAClC,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAsB,EAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,qDAAqD;AAC9C,KAAK,UAAU,kBAAkB,CAAC,KAAiB;IACxD,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,oCAAyE;AAAhE,0GAAA,oBAAoB,OAAA;AAC7B,oCAAyE;AAAhE,wGAAA,kBAAkB,OAAA;AAAE,0GAAA,oBAAoB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlasauth/chrome-extension",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@atlasauth/js": "0.
|
|
22
|
-
"@atlasauth/react": "0.
|
|
21
|
+
"@atlasauth/js": "0.6.0",
|
|
22
|
+
"@atlasauth/react": "0.5.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=18"
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist",
|
|
43
|
-
"README.md"
|
|
43
|
+
"README.md",
|
|
44
|
+
"CHANGELOG.md"
|
|
44
45
|
],
|
|
45
46
|
"scripts": {
|
|
46
47
|
"build": "tsc -p tsconfig.build.json",
|