@agentuity/auth 0.1.5 → 0.1.6
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 +20 -1
- package/dist/agentuity/react.d.ts +31 -1
- package/dist/agentuity/react.d.ts.map +1 -1
- package/dist/agentuity/react.js +1 -1
- package/dist/agentuity/react.js.map +1 -1
- package/package.json +4 -4
- package/src/agentuity/react.tsx +32 -2
- package/tsconfig.tsbuildinfo +1 -1
package/README.md
CHANGED
|
@@ -295,11 +295,30 @@ React provider that bridges auth state to Agentuity context.
|
|
|
295
295
|
```tsx
|
|
296
296
|
import { AuthProvider } from '@agentuity/auth/react';
|
|
297
297
|
|
|
298
|
-
<AuthProvider authClient={authClient} refreshInterval={
|
|
298
|
+
<AuthProvider authClient={authClient} refreshInterval={3600000}>
|
|
299
299
|
{children}
|
|
300
300
|
</AuthProvider>;
|
|
301
301
|
```
|
|
302
302
|
|
|
303
|
+
**Props:**
|
|
304
|
+
|
|
305
|
+
- `authClient` - Auth client instance (required)
|
|
306
|
+
- `refreshInterval` - Token refresh interval in milliseconds (default: `3600000` / 1 hour)
|
|
307
|
+
- `tokenEndpoint` - Token endpoint path or `false` to disable (default: `'/token'`)
|
|
308
|
+
|
|
309
|
+
```tsx
|
|
310
|
+
// High-security: refresh every 30 seconds
|
|
311
|
+
<AuthProvider authClient={authClient} refreshInterval={30000}>
|
|
312
|
+
|
|
313
|
+
// Sensitive features: refresh every 5 minutes
|
|
314
|
+
<AuthProvider authClient={authClient} refreshInterval={300000}>
|
|
315
|
+
|
|
316
|
+
// Default: refresh every hour
|
|
317
|
+
<AuthProvider authClient={authClient}>
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
See the `refreshInterval` JSDoc for detailed security recommendations.
|
|
321
|
+
|
|
303
322
|
#### `useAuth()`
|
|
304
323
|
|
|
305
324
|
Hook for full auth context. Import from `@agentuity/auth/react`.
|
|
@@ -1308,7 +1308,37 @@ export interface AuthProviderProps {
|
|
|
1308
1308
|
authClient: AuthClient;
|
|
1309
1309
|
/**
|
|
1310
1310
|
* Token refresh interval in milliseconds.
|
|
1311
|
-
*
|
|
1311
|
+
*
|
|
1312
|
+
* **Default:** `3600000` (1 hour)
|
|
1313
|
+
*
|
|
1314
|
+
* Controls how frequently the auth state is refreshed by polling the session endpoint.
|
|
1315
|
+
* A longer interval reduces server load and API calls, but means auth state changes
|
|
1316
|
+
* (like session expiration or revocation) may not be detected for up to the interval duration.
|
|
1317
|
+
*
|
|
1318
|
+
* **Security Implications:**
|
|
1319
|
+
* - Longer intervals mean staler auth state: revoked sessions or permission changes
|
|
1320
|
+
* may not be detected until the next refresh cycle (up to the interval duration)
|
|
1321
|
+
* - Shorter intervals provide fresher state but increase server load and API calls
|
|
1322
|
+
* - Consider your security requirements when choosing an interval
|
|
1323
|
+
*
|
|
1324
|
+
* **Recommended Intervals:**
|
|
1325
|
+
* - `30000` - `60000` (30s - 1m): High-security applications requiring near-real-time
|
|
1326
|
+
* detection of session revocation or permission changes
|
|
1327
|
+
* - `300000` - `900000` (5m - 15m): Sensitive features (admin panels, financial operations)
|
|
1328
|
+
* where timely detection of auth changes is important
|
|
1329
|
+
* - `3600000` (1h): Typical applications where occasional staleness is acceptable
|
|
1330
|
+
*
|
|
1331
|
+
* **Override Example:**
|
|
1332
|
+
* ```tsx
|
|
1333
|
+
* // High-security: refresh every 30 seconds
|
|
1334
|
+
* <AuthProvider authClient={authClient} refreshInterval={30000}>
|
|
1335
|
+
*
|
|
1336
|
+
* // Sensitive features: refresh every 5 minutes
|
|
1337
|
+
* <AuthProvider authClient={authClient} refreshInterval={300000}>
|
|
1338
|
+
*
|
|
1339
|
+
* // Default: refresh every hour
|
|
1340
|
+
* <AuthProvider authClient={authClient}>
|
|
1341
|
+
* ```
|
|
1312
1342
|
*/
|
|
1313
1343
|
refreshInterval?: number;
|
|
1314
1344
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/agentuity/react.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMrD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CACjC,QAAQ,SAAS,sBAAsB,EAAE,GAAG,sBAAsB,EAAE;IAEpE;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB;;;;;;;;;;;;;;;;;;;;gCAJX,CAAC;;;;;gCAIb,CAAC;;;;;gCAKG,CAAC;;;;;gCAGd,CAAC;;;;;gCAC6D,CAAC;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/agentuity/react.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMrD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CACjC,QAAQ,SAAS,sBAAsB,EAAE,GAAG,sBAAsB,EAAE;IAEpE;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB;;;;;;;;;;;;;;;;;;;;gCAJX,CAAC;;;;;gCAIb,CAAC;;;;;gCAKG,CAAC;;;;;gCAGd,CAAC;;;;;gCAC6D,CAAC;;;;;;;;;;;;;;;;;;;;;;6BAsN/D,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAvIN,CAAA;;;;;;;;;;;;;;gCAiBA,CAAD;uCAGkB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAiMg3E,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+vX,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAi5D,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA3S19hB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,sBAAsB,EAAE,GAAG,EAAE,EAC9E,OAAO,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACnC,UAAU,CAAC,OAAO,sBAAsB,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC,CAkBlE;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,+BAA+B;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,2DAA2D;IAC3D,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,WAAW,iBAAiB;IACjC,+BAA+B;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC5B,QAAQ,EACR,UAAU,EACV,eAAyB,EACzB,aAAwB,GACxB,EAAE,iBAAiB,2CAoFnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,IAAI,gBAAgB,CAM1C"}
|
package/dist/agentuity/react.js
CHANGED
|
@@ -104,7 +104,7 @@ const AuthContext = createContext(null);
|
|
|
104
104
|
* </AgentuityProvider>
|
|
105
105
|
* ```
|
|
106
106
|
*/
|
|
107
|
-
export function AuthProvider({ children, authClient, refreshInterval =
|
|
107
|
+
export function AuthProvider({ children, authClient, refreshInterval = 3600000, tokenEndpoint = '/token', }) {
|
|
108
108
|
const { setAuthHeader, setAuthLoading } = useAgentuityReactAuth();
|
|
109
109
|
const { identify } = useAnalytics();
|
|
110
110
|
const [user, setUser] = useState(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/agentuity/react.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH,OAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA4ClF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAqC;IAErC,MAAM,OAAO,GACZ,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,WAAW,CAAC;IAElD,MAAM,cAAc,GAAG,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;IACpF,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAE3C,0CAA0C;IAC1C,8DAA8D;IAC9D,4EAA4E;IAC5E,OAAO,sBAAsB,CAAC;QAC7B,GAAG,OAAO;QACV,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,WAAW,CAAC;QAC5C,8DAA8D;KAC9D,CAAQ,CAAC;AACX,CAAC;AA6BD,MAAM,WAAW,GAAG,aAAa,CAA0B,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/agentuity/react.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/auth",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Authentication for Agentuity projects using Agentuity Auth",
|
|
6
6
|
"repository": {
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^18.0.0 || ^19.0.0",
|
|
29
|
-
"@agentuity/react": "0.1.
|
|
29
|
+
"@agentuity/react": "0.1.6",
|
|
30
30
|
"@opentelemetry/api": "^1.9.0",
|
|
31
31
|
"hono": "^4.0.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@agentuity/react": "0.1.
|
|
35
|
-
"@agentuity/test-utils": "0.1.
|
|
34
|
+
"@agentuity/react": "0.1.6",
|
|
35
|
+
"@agentuity/test-utils": "0.1.6",
|
|
36
36
|
"@opentelemetry/api": "^1.9.0",
|
|
37
37
|
"@types/react": "^18.3.18",
|
|
38
38
|
"drizzle-kit": "^0.31.8",
|
package/src/agentuity/react.tsx
CHANGED
|
@@ -172,7 +172,37 @@ export interface AuthProviderProps {
|
|
|
172
172
|
|
|
173
173
|
/**
|
|
174
174
|
* Token refresh interval in milliseconds.
|
|
175
|
-
*
|
|
175
|
+
*
|
|
176
|
+
* **Default:** `3600000` (1 hour)
|
|
177
|
+
*
|
|
178
|
+
* Controls how frequently the auth state is refreshed by polling the session endpoint.
|
|
179
|
+
* A longer interval reduces server load and API calls, but means auth state changes
|
|
180
|
+
* (like session expiration or revocation) may not be detected for up to the interval duration.
|
|
181
|
+
*
|
|
182
|
+
* **Security Implications:**
|
|
183
|
+
* - Longer intervals mean staler auth state: revoked sessions or permission changes
|
|
184
|
+
* may not be detected until the next refresh cycle (up to the interval duration)
|
|
185
|
+
* - Shorter intervals provide fresher state but increase server load and API calls
|
|
186
|
+
* - Consider your security requirements when choosing an interval
|
|
187
|
+
*
|
|
188
|
+
* **Recommended Intervals:**
|
|
189
|
+
* - `30000` - `60000` (30s - 1m): High-security applications requiring near-real-time
|
|
190
|
+
* detection of session revocation or permission changes
|
|
191
|
+
* - `300000` - `900000` (5m - 15m): Sensitive features (admin panels, financial operations)
|
|
192
|
+
* where timely detection of auth changes is important
|
|
193
|
+
* - `3600000` (1h): Typical applications where occasional staleness is acceptable
|
|
194
|
+
*
|
|
195
|
+
* **Override Example:**
|
|
196
|
+
* ```tsx
|
|
197
|
+
* // High-security: refresh every 30 seconds
|
|
198
|
+
* <AuthProvider authClient={authClient} refreshInterval={30000}>
|
|
199
|
+
*
|
|
200
|
+
* // Sensitive features: refresh every 5 minutes
|
|
201
|
+
* <AuthProvider authClient={authClient} refreshInterval={300000}>
|
|
202
|
+
*
|
|
203
|
+
* // Default: refresh every hour
|
|
204
|
+
* <AuthProvider authClient={authClient}>
|
|
205
|
+
* ```
|
|
176
206
|
*/
|
|
177
207
|
refreshInterval?: number;
|
|
178
208
|
|
|
@@ -219,7 +249,7 @@ export interface AuthProviderProps {
|
|
|
219
249
|
export function AuthProvider({
|
|
220
250
|
children,
|
|
221
251
|
authClient,
|
|
222
|
-
refreshInterval =
|
|
252
|
+
refreshInterval = 3600000,
|
|
223
253
|
tokenEndpoint = '/token',
|
|
224
254
|
}: AuthProviderProps) {
|
|
225
255
|
const { setAuthHeader, setAuthLoading } = useAgentuityReactAuth();
|