@passkeykit/sso 1.0.0 → 2.0.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @passkeykit/sso
2
2
 
3
- SSO client library for DanielTech satellite apps. Provides session management, inactivity tracking, SSO callback handling, and admin elevation — all configurable via a single factory function.
3
+ Configurable SSO client for browser-based apps. Provides session management, inactivity tracking, SSO callback handling, and admin elevation — all via a single factory function.
4
4
 
5
5
  ## Install
6
6
 
@@ -14,7 +14,8 @@ npm install @passkeykit/sso
14
14
  import { createSSOClient } from '@passkeykit/sso';
15
15
 
16
16
  const sso = createSSOClient({
17
- verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
17
+ ssoUrl: 'https://sso.example.com',
18
+ verifyUrl: 'https://api.example.com/auth/verify',
18
19
  });
19
20
  ```
20
21
 
@@ -22,8 +23,8 @@ const sso = createSSOClient({
22
23
 
23
24
  | Option | Type | Default | Description |
24
25
  |---|---|---|---|
26
+ | `ssoUrl` | `string` | **required** | SSO login page URL |
25
27
  | `verifyUrl` | `string` | **required** | Token verification endpoint URL |
26
- | `ssoUrl` | `string` | `https://user.danieltech.dev` | SSO login page URL |
27
28
  | `callbackPath` | `string` | `/auth/callback` | Callback path on your app |
28
29
  | `sessionDuration` | `number` | 30 days (ms) | Absolute session lifetime |
29
30
  | `inactivityTimeout` | `number` | `Infinity` | Idle timeout before re-auth (ms). Set `0` or `Infinity` to disable |
@@ -31,25 +32,28 @@ const sso = createSSOClient({
31
32
  | `activityKey` | `string` | `sso_last_activity` | localStorage key for activity timestamp |
32
33
  | `elevationDuration` | `number` | 15 min (ms) | Duration of admin elevation after re-auth |
33
34
 
34
- ### Per-App Examples
35
+ ### Examples
35
36
 
36
37
  ```ts
37
- // Meds 5h inactivity, custom callback path
38
+ // 5-hour inactivity timeout, custom callback path
38
39
  const sso = createSSOClient({
39
- verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
40
+ ssoUrl: 'https://sso.example.com',
41
+ verifyUrl: 'https://api.example.com/auth/verify',
40
42
  callbackPath: '/?sso_callback=1',
41
43
  inactivityTimeout: 5 * 60 * 60 * 1000,
42
44
  });
43
45
 
44
- // Groceries 12h inactivity
46
+ // 12-hour inactivity timeout
45
47
  const sso = createSSOClient({
46
- verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
48
+ ssoUrl: 'https://sso.example.com',
49
+ verifyUrl: 'https://api.example.com/auth/verify',
47
50
  inactivityTimeout: 12 * 60 * 60 * 1000,
48
51
  });
49
52
 
50
- // MediaBox — no inactivity timeout (default)
53
+ // No inactivity timeout (default)
51
54
  const sso = createSSOClient({
52
- verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
55
+ ssoUrl: 'https://sso.example.com',
56
+ verifyUrl: 'https://api.example.com/auth/verify',
53
57
  });
54
58
  ```
55
59
 
@@ -95,45 +99,21 @@ interface SSOSession {
95
99
 
96
100
  ## Integration Pattern
97
101
 
98
- Replace your app's inline `src/lib/sso.ts` with a thin wrapper:
102
+ Create a thin wrapper to configure the client and re-export functions:
99
103
 
100
104
  ```ts
101
105
  // src/lib/sso.ts
102
106
  import { createSSOClient } from '@passkeykit/sso';
103
107
 
104
- const PUSH_URL = import.meta.env.VITE_PUSH_URL || 'https://push.danieltech.dev';
105
-
106
- export const sso = createSSOClient({
107
- verifyUrl: `${PUSH_URL}/api/auth/sso-verify`,
108
- inactivityTimeout: 5 * 60 * 60 * 1000, // app-specific
109
- });
110
-
111
- // Re-export for convenience
112
- export type { SSOSession, SSOClient } from '@passkeykit/sso';
113
- ```
114
-
115
- Then update imports:
116
-
117
- ```diff
118
- - import { getSession, redirectToSSO } from '@/lib/sso';
119
- + import { sso } from '@/lib/sso';
120
- + // use sso.getSession(), sso.redirectToSSO(), etc.
121
- ```
122
-
123
- Or re-export individual functions:
124
-
125
- ```ts
126
- // src/lib/sso.ts
127
- import { createSSOClient } from '@passkeykit/sso';
128
108
  export type { SSOSession } from '@passkeykit/sso';
129
109
 
130
- const PUSH_URL = import.meta.env.VITE_PUSH_URL || 'https://push.danieltech.dev';
131
-
132
110
  const sso = createSSOClient({
133
- verifyUrl: `${PUSH_URL}/api/auth/sso-verify`,
134
- inactivityTimeout: 5 * 60 * 60 * 1000,
111
+ ssoUrl: process.env.SSO_URL || 'https://sso.example.com',
112
+ verifyUrl: process.env.VERIFY_URL || 'https://api.example.com/auth/verify',
113
+ inactivityTimeout: 5 * 60 * 60 * 1000, // app-specific
135
114
  });
136
115
 
116
+ // Re-export individual functions to preserve existing import signatures
137
117
  export const {
138
118
  getSession,
139
119
  clearSession,
@@ -148,7 +128,15 @@ export const {
148
128
  } = sso;
149
129
  ```
150
130
 
151
- This approach preserves existing import signatures so no other files need changes.
131
+ ## Token Verification
132
+
133
+ The `verifyUrl` endpoint receives a `POST` request with `{ token: string }` and should return:
134
+
135
+ ```json
136
+ { "valid": true, "user": { "id": "...", "name": "...", "email": "...", "role": "..." } }
137
+ ```
138
+
139
+ On failure, return `{ "valid": false }` or a non-200 status.
152
140
 
153
141
  ## License
154
142
 
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @passkeykit/sso — SSO client for DanielTech satellite apps.
2
+ * @passkeykit/sso — Configurable SSO client for browser-based apps.
3
3
  *
4
4
  * Usage:
5
5
  * import { createSSOClient } from '@passkeykit/sso';
6
- * const sso = createSSOClient({ verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify' });
6
+ * const sso = createSSOClient({ verifyUrl: 'https://your-sso.example.com/api/auth/verify' });
7
7
  * // or with inactivity timeout:
8
8
  * const sso = createSSOClient({ verifyUrl: '...', inactivityTimeout: 5 * 60 * 60 * 1000 });
9
9
  */
@@ -18,8 +18,8 @@ export interface SSOSession {
18
18
  elevatedUntil?: number;
19
19
  }
20
20
  export interface SSOClientConfig {
21
- /** URL of the SSO login page. Defaults to 'https://user.danieltech.dev'. */
22
- ssoUrl?: string;
21
+ /** URL of the SSO login page. Required. */
22
+ ssoUrl: string;
23
23
  /** URL of the token verification endpoint. Required. */
24
24
  verifyUrl: string;
25
25
  /** Callback path on the satellite app. Defaults to '/auth/callback'. */
@@ -65,13 +65,15 @@ export interface SSOClient {
65
65
  * @example
66
66
  * // Minimal — no inactivity timeout
67
67
  * const sso = createSSOClient({
68
- * verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
68
+ * ssoUrl: 'https://sso.example.com',
69
+ * verifyUrl: 'https://api.example.com/auth/verify',
69
70
  * });
70
71
  *
71
72
  * @example
72
73
  * // With 5-hour inactivity timeout
73
74
  * const sso = createSSOClient({
74
- * verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
75
+ * ssoUrl: 'https://sso.example.com',
76
+ * verifyUrl: 'https://api.example.com/auth/verify',
75
77
  * inactivityTimeout: 5 * 60 * 60 * 1000,
76
78
  * });
77
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAYD,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,UAAU,IAAI,UAAU,GAAG,IAAI,CAAC;IAChC,mDAAmD;IACnD,YAAY,IAAI,IAAI,CAAC;IACrB,kDAAkD;IAClD,aAAa,IAAI,IAAI,CAAC;IACtB,gEAAgE;IAChE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC7D,sDAAsD;IACtD,aAAa,IAAI,IAAI,CAAC;IACtB,+EAA+E;IAC/E,qBAAqB,IAAI,MAAM,IAAI,CAAC;IACpC,sDAAsD;IACtD,UAAU,IAAI,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,IAAI,IAAI,CAAC;IACvB,0DAA0D;IAC1D,iBAAiB,IAAI,OAAO,CAAC;IAC7B,4BAA4B;IAC5B,QAAQ,IAAI,IAAI,CAAC;IACjB,2BAA2B;IAC3B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,CAuJtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAWD,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,UAAU,IAAI,UAAU,GAAG,IAAI,CAAC;IAChC,mDAAmD;IACnD,YAAY,IAAI,IAAI,CAAC;IACrB,kDAAkD;IAClD,aAAa,IAAI,IAAI,CAAC;IACtB,gEAAgE;IAChE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC7D,sDAAsD;IACtD,aAAa,IAAI,IAAI,CAAC;IACtB,+EAA+E;IAC/E,qBAAqB,IAAI,MAAM,IAAI,CAAC;IACpC,sDAAsD;IACtD,UAAU,IAAI,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,IAAI,IAAI,CAAC;IACvB,0DAA0D;IAC1D,iBAAiB,IAAI,OAAO,CAAC;IAC7B,4BAA4B;IAC5B,QAAQ,IAAI,IAAI,CAAC;IACjB,2BAA2B;IAC3B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,CA4JtE"}
package/dist/index.js CHANGED
@@ -1,14 +1,13 @@
1
1
  /**
2
- * @passkeykit/sso — SSO client for DanielTech satellite apps.
2
+ * @passkeykit/sso — Configurable SSO client for browser-based apps.
3
3
  *
4
4
  * Usage:
5
5
  * import { createSSOClient } from '@passkeykit/sso';
6
- * const sso = createSSOClient({ verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify' });
6
+ * const sso = createSSOClient({ verifyUrl: 'https://your-sso.example.com/api/auth/verify' });
7
7
  * // or with inactivity timeout:
8
8
  * const sso = createSSOClient({ verifyUrl: '...', inactivityTimeout: 5 * 60 * 60 * 1000 });
9
9
  */
10
10
  const DEFAULTS = {
11
- ssoUrl: "https://user.danieltech.dev",
12
11
  callbackPath: "/auth/callback",
13
12
  sessionDuration: 30 * 24 * 60 * 60 * 1000,
14
13
  inactivityTimeout: Infinity,
@@ -22,19 +21,21 @@ const DEFAULTS = {
22
21
  * @example
23
22
  * // Minimal — no inactivity timeout
24
23
  * const sso = createSSOClient({
25
- * verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
24
+ * ssoUrl: 'https://sso.example.com',
25
+ * verifyUrl: 'https://api.example.com/auth/verify',
26
26
  * });
27
27
  *
28
28
  * @example
29
29
  * // With 5-hour inactivity timeout
30
30
  * const sso = createSSOClient({
31
- * verifyUrl: 'https://push.danieltech.dev/api/auth/sso-verify',
31
+ * ssoUrl: 'https://sso.example.com',
32
+ * verifyUrl: 'https://api.example.com/auth/verify',
32
33
  * inactivityTimeout: 5 * 60 * 60 * 1000,
33
34
  * });
34
35
  */
35
36
  export function createSSOClient(userConfig) {
36
37
  const cfg = {
37
- ssoUrl: userConfig.ssoUrl ?? DEFAULTS.ssoUrl,
38
+ ssoUrl: userConfig.ssoUrl,
38
39
  verifyUrl: userConfig.verifyUrl,
39
40
  callbackPath: userConfig.callbackPath ?? DEFAULTS.callbackPath,
40
41
  sessionDuration: userConfig.sessionDuration ?? DEFAULTS.sessionDuration,
@@ -116,14 +117,20 @@ export function createSSOClient(userConfig) {
116
117
  timer = setTimeout(() => { timer = null; }, 30000);
117
118
  touchActivity();
118
119
  };
120
+ const visibilityHandler = () => {
121
+ if (document.visibilityState === 'hidden')
122
+ touchActivity();
123
+ };
119
124
  touchActivity();
120
125
  globalThis.addEventListener("pointerdown", handler);
121
126
  globalThis.addEventListener("keydown", handler);
122
127
  globalThis.addEventListener("scroll", handler, { passive: true });
128
+ document.addEventListener("visibilitychange", visibilityHandler);
123
129
  return () => {
124
130
  globalThis.removeEventListener("pointerdown", handler);
125
131
  globalThis.removeEventListener("keydown", handler);
126
132
  globalThis.removeEventListener("scroll", handler);
133
+ document.removeEventListener("visibilitychange", visibilityHandler);
127
134
  };
128
135
  }
129
136
  // ── Admin elevation ──────────────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@passkeykit/sso",
3
- "version": "1.0.0",
4
- "description": "SSO client for DanielTech satellite apps — session management, activity tracking, and admin elevation",
3
+ "version": "2.0.1",
4
+ "description": "Configurable SSO client for browser-based apps — session management, activity tracking, and admin elevation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,7 +11,10 @@
11
11
  "import": "./dist/index.js"
12
12
  }
13
13
  },
14
- "files": ["dist", "README.md"],
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
15
18
  "scripts": {
16
19
  "build": "tsc",
17
20
  "prepublishOnly": "npm run build"
@@ -21,7 +24,13 @@
21
24
  "url": "https://github.com/dnldev/passkey-kit.git",
22
25
  "directory": "packages/sso"
23
26
  },
24
- "keywords": ["sso", "passkey", "webauthn", "session", "authentication"],
27
+ "keywords": [
28
+ "sso",
29
+ "passkey",
30
+ "webauthn",
31
+ "session",
32
+ "authentication"
33
+ ],
25
34
  "license": "MIT",
26
35
  "publishConfig": {
27
36
  "access": "public"