base-idp 1.0.1 → 1.1.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/dist/browser-paseto.d.ts +13 -0
- package/dist/browser-paseto.d.ts.map +1 -0
- package/dist/browser-paseto.js +116 -0
- package/dist/browser-paseto.js.map +1 -0
- package/dist/browser.d.ts +133 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +382 -0
- package/dist/browser.js.map +1 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +100 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +200 -0
- package/dist/react.js.map +1 -1
- package/dist/server.d.ts +36 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +51 -0
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +64 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vite.d.ts +48 -4
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +59 -6
- package/dist/vite.js.map +1 -1
- package/package.json +15 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export { BaseIdPClient, BaseIdPClient as BaseIdpClient } from "./client.js";
|
|
2
2
|
export { BaseIdPError, BaseIdPError as BaseIdpError, idpError } from "./errors.js";
|
|
3
3
|
export { generatePKCE } from "./pkce.js";
|
|
4
|
-
export
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
4
|
+
export { BrowserBaseIdpClient, createBrowserBaseIdpAuth, } from "./browser.js";
|
|
5
|
+
export type { HandleCallbackResult } from "./browser.js";
|
|
6
|
+
export { createReactBaseIdpAuth, BaseIdpProvider, useBaseIdpAuth, useUser, useSession, } from "./react.js";
|
|
7
|
+
export type { ReactBaseIdpAuth, BaseIdpProviderProps } from "./react.js";
|
|
8
|
+
export { createNextBaseIdpAuth } from "./next.js";
|
|
7
9
|
export { baseIdpConfigFromNodeEnv, createNodeBaseIdpAuth, createExpressMiddleware, createNestBaseIdpGuard, } from "./node.js";
|
|
8
10
|
export { createViteBaseIdpAuth, baseIdpConfigFromViteEnv, } from "./vite.js";
|
|
9
|
-
export { createSvelteKitBaseIdpAuth
|
|
11
|
+
export { createSvelteKitBaseIdpAuth } from "./sveltekit.js";
|
|
12
|
+
export type { BaseIdPConfig, BaseIdPConfig as BaseIdpConfig, BrowserBaseIdpConfig, ResolvedConfig, FetchLike, AuthorizeUrlOptions, TokenExchangeOptions, RefreshOptions, TokenPair, PKCEPair, AccessClaims, AccountContext, VerifiedPrincipal, VerifyAccessTokenOptions, AuthSession, LoginWithRedirectOptions, SessionChangeEvent, SessionChangeListener, UpsertUserData, UserRepository, MergedUser, ClientConfigResponse, BaseIdpIdentityMetadata, BaseIdpPublicKey, BaseIdpPublicKeySet, } from "./types.js";
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAG5D,YAAY,EAEV,aAAa,EACb,aAAa,IAAI,aAAa,EAC9B,oBAAoB,EACpB,cAAc,EACd,SAAS,EAET,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,QAAQ,EAER,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EAExB,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EAErB,cAAc,EACd,cAAc,EACd,UAAU,EAEV,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
// ── Core client (browser + Node compatible) ──────────────────────────────────
|
|
1
2
|
export { BaseIdPClient, BaseIdPClient as BaseIdpClient } from "./client.js";
|
|
2
3
|
export { BaseIdPError, BaseIdPError as BaseIdpError, idpError } from "./errors.js";
|
|
3
4
|
export { generatePKCE } from "./pkce.js";
|
|
4
|
-
|
|
5
|
-
export {
|
|
5
|
+
// ── Browser Client SDK ───────────────────────────────────────────────────────
|
|
6
|
+
export { BrowserBaseIdpClient, createBrowserBaseIdpAuth, } from "./browser.js";
|
|
7
|
+
// ── React integration ────────────────────────────────────────────────────────
|
|
8
|
+
export { createReactBaseIdpAuth, BaseIdpProvider, useBaseIdpAuth, useUser, useSession, } from "./react.js";
|
|
9
|
+
// ── Next.js integration ───────────────────────────────────────────────────────
|
|
10
|
+
export { createNextBaseIdpAuth } from "./next.js";
|
|
11
|
+
// ── Node / Express / NestJS integration ──────────────────────────────────────
|
|
6
12
|
export { baseIdpConfigFromNodeEnv, createNodeBaseIdpAuth, createExpressMiddleware, createNestBaseIdpGuard, } from "./node.js";
|
|
13
|
+
// ── Vite integration ──────────────────────────────────────────────────────────
|
|
7
14
|
export { createViteBaseIdpAuth, baseIdpConfigFromViteEnv, } from "./vite.js";
|
|
8
|
-
|
|
15
|
+
// ── SvelteKit integration ─────────────────────────────────────────────────────
|
|
16
|
+
export { createSvelteKitBaseIdpAuth } from "./sveltekit.js";
|
|
9
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAGtB,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,iFAAiF;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,gFAAgF;AAChF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAEnB,iFAAiF;AACjF,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAEnB,iFAAiF;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { BaseIdPClient } from "./client.js";
|
|
2
|
-
import
|
|
3
|
+
import { BrowserBaseIdpClient } from "./browser.js";
|
|
4
|
+
import type { AuthSession, AuthorizeUrlOptions, BaseIdPConfig, LoginWithRedirectOptions, VerifiedPrincipal } from "./types.js";
|
|
3
5
|
export type ReactBaseIdpAuth = {
|
|
4
6
|
loginHref(options?: AuthorizeUrlOptions): string;
|
|
5
7
|
login(options?: AuthorizeUrlOptions): void;
|
|
@@ -8,5 +10,102 @@ export type ReactBaseIdpAuth = {
|
|
|
8
10
|
onClick(): void;
|
|
9
11
|
};
|
|
10
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Lightweight helper for React apps that only need a login button and don't
|
|
15
|
+
* require full session management.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const auth = createReactBaseIdpAuth({ key: "...", issuer: "..." });
|
|
19
|
+
* <button {...auth.buttonProps()}>Sign in with Square</button>
|
|
20
|
+
*/
|
|
11
21
|
export declare function createReactBaseIdpAuth(config: BaseIdPConfig | BaseIdPClient): ReactBaseIdpAuth;
|
|
22
|
+
type BaseIdpAuthState = {
|
|
23
|
+
isLoading: boolean;
|
|
24
|
+
isAuthenticated: boolean;
|
|
25
|
+
principal: VerifiedPrincipal | null;
|
|
26
|
+
session: AuthSession | null;
|
|
27
|
+
error: Error | null;
|
|
28
|
+
};
|
|
29
|
+
type BaseIdpContextValue = BaseIdpAuthState & {
|
|
30
|
+
client: BrowserBaseIdpClient;
|
|
31
|
+
loginWithRedirect(options?: LoginWithRedirectOptions): Promise<void>;
|
|
32
|
+
logout(options?: {
|
|
33
|
+
returnTo?: string;
|
|
34
|
+
}): void;
|
|
35
|
+
getAccessToken(): Promise<string>;
|
|
36
|
+
refreshSession(): Promise<AuthSession>;
|
|
37
|
+
};
|
|
38
|
+
export type BaseIdpProviderProps = {
|
|
39
|
+
/** An initialised BrowserBaseIdpClient (from createBrowserBaseIdpAuth) */
|
|
40
|
+
client: BrowserBaseIdpClient;
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Called after handleRedirectCallback completes successfully.
|
|
44
|
+
* Use this to navigate the user to `returnTo` or a default destination.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* onRedirectCallback={(_, returnTo) => router.push(returnTo ?? "/dashboard")}
|
|
48
|
+
*/
|
|
49
|
+
onRedirectCallback?: (principal: VerifiedPrincipal, returnTo?: string) => void;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Wrap your React app with this provider to enable auth hooks.
|
|
53
|
+
*
|
|
54
|
+
* On mount it will:
|
|
55
|
+
* 1. Call client.init() to discover config
|
|
56
|
+
* 2. If `?code=` is in the URL, call handleRedirectCallback() and clean the URL
|
|
57
|
+
* 3. Otherwise, restore any existing session from storage
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* const auth = createBrowserBaseIdpAuth({ key, issuer, persistSession: true });
|
|
61
|
+
*
|
|
62
|
+
* function App() {
|
|
63
|
+
* return (
|
|
64
|
+
* <BaseIdpProvider
|
|
65
|
+
* client={auth}
|
|
66
|
+
* onRedirectCallback={(_, returnTo) => navigate(returnTo ?? "/")}
|
|
67
|
+
* >
|
|
68
|
+
* <Router />
|
|
69
|
+
* </BaseIdpProvider>
|
|
70
|
+
* );
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
export declare function BaseIdpProvider({ client, children, onRedirectCallback, }: BaseIdpProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<BaseIdpContextValue | null>>;
|
|
74
|
+
/**
|
|
75
|
+
* Access the full auth context from any component inside <BaseIdpProvider>.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* const { isLoading, isAuthenticated, principal, loginWithRedirect, logout } =
|
|
79
|
+
* useBaseIdpAuth();
|
|
80
|
+
*/
|
|
81
|
+
export declare function useBaseIdpAuth(): BaseIdpContextValue;
|
|
82
|
+
/**
|
|
83
|
+
* Quick access to the current user (VerifiedPrincipal).
|
|
84
|
+
* Returns { isLoaded, isSignedIn, user }.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* const { isLoaded, isSignedIn, user } = useUser();
|
|
88
|
+
* if (!isLoaded) return <Spinner />;
|
|
89
|
+
* if (!isSignedIn) return <LoginButton />;
|
|
90
|
+
* return <p>Hello, {user.name}</p>;
|
|
91
|
+
*/
|
|
92
|
+
export declare function useUser(): {
|
|
93
|
+
isLoaded: boolean;
|
|
94
|
+
isSignedIn: boolean;
|
|
95
|
+
user: VerifiedPrincipal | null;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Access the raw session object (token + expiresAt + principal).
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* const { isLoaded, session } = useSession();
|
|
102
|
+
* if (session) {
|
|
103
|
+
* console.log("token expires at", new Date(session.expiresAt));
|
|
104
|
+
* }
|
|
105
|
+
*/
|
|
106
|
+
export declare function useSession(): {
|
|
107
|
+
isLoaded: boolean;
|
|
108
|
+
session: AuthSession | null;
|
|
109
|
+
};
|
|
110
|
+
export {};
|
|
12
111
|
//# sourceMappingURL=react.d.ts.map
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EAExB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACjD,KAAK,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG;QAC1C,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,IAAI,IAAI,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,gBAAgB,CAkB9F;AAID,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,mBAAmB,GAAG,gBAAgB,GAAG;IAC5C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAYF,MAAM,MAAM,oBAAoB,GAAG;IACjC,0EAA0E;IAC1E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,kBAAkB,GACnB,EAAE,oBAAoB,uGA8GtB;AAID;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,mBAAmB,CASpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAChC,CAOA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B,CAMA"}
|
package/dist/react.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React integration for the Base IDP SDK.
|
|
3
|
+
*
|
|
4
|
+
* Exports two tiers:
|
|
5
|
+
*
|
|
6
|
+
* ── Tier 1: Simple login helper (backward compat, no React dep needed) ──────
|
|
7
|
+
* createReactBaseIdpAuth() → { loginHref, login, buttonProps }
|
|
8
|
+
*
|
|
9
|
+
* ── Tier 2: Full React Provider + hooks (requires React ≥ 18) ───────────────
|
|
10
|
+
* <BaseIdpProvider client={auth}> — wraps your app
|
|
11
|
+
* useBaseIdpAuth() — full auth context
|
|
12
|
+
* useUser() — { isLoaded, isSignedIn, user }
|
|
13
|
+
* useSession() — { isLoaded, session }
|
|
14
|
+
*/
|
|
15
|
+
import { createContext, useContext, useState, useEffect, useCallback, createElement, } from "react";
|
|
1
16
|
import { BaseIdPClient } from "./client.js";
|
|
17
|
+
import { BrowserBaseIdpClient } from "./browser.js";
|
|
18
|
+
/**
|
|
19
|
+
* Lightweight helper for React apps that only need a login button and don't
|
|
20
|
+
* require full session management.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const auth = createReactBaseIdpAuth({ key: "...", issuer: "..." });
|
|
24
|
+
* <button {...auth.buttonProps()}>Sign in with Square</button>
|
|
25
|
+
*/
|
|
2
26
|
export function createReactBaseIdpAuth(config) {
|
|
3
27
|
const client = config instanceof BaseIdPClient ? config : new BaseIdPClient(config);
|
|
4
28
|
return {
|
|
@@ -18,4 +42,180 @@ export function createReactBaseIdpAuth(config) {
|
|
|
18
42
|
},
|
|
19
43
|
};
|
|
20
44
|
}
|
|
45
|
+
const BaseIdpContext = createContext(null);
|
|
46
|
+
const LOADING_STATE = {
|
|
47
|
+
isLoading: true,
|
|
48
|
+
isAuthenticated: false,
|
|
49
|
+
principal: null,
|
|
50
|
+
session: null,
|
|
51
|
+
error: null,
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Wrap your React app with this provider to enable auth hooks.
|
|
55
|
+
*
|
|
56
|
+
* On mount it will:
|
|
57
|
+
* 1. Call client.init() to discover config
|
|
58
|
+
* 2. If `?code=` is in the URL, call handleRedirectCallback() and clean the URL
|
|
59
|
+
* 3. Otherwise, restore any existing session from storage
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* const auth = createBrowserBaseIdpAuth({ key, issuer, persistSession: true });
|
|
63
|
+
*
|
|
64
|
+
* function App() {
|
|
65
|
+
* return (
|
|
66
|
+
* <BaseIdpProvider
|
|
67
|
+
* client={auth}
|
|
68
|
+
* onRedirectCallback={(_, returnTo) => navigate(returnTo ?? "/")}
|
|
69
|
+
* >
|
|
70
|
+
* <Router />
|
|
71
|
+
* </BaseIdpProvider>
|
|
72
|
+
* );
|
|
73
|
+
* }
|
|
74
|
+
*/
|
|
75
|
+
export function BaseIdpProvider({ client, children, onRedirectCallback, }) {
|
|
76
|
+
const [state, setState] = useState(LOADING_STATE);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
let cancelled = false;
|
|
79
|
+
async function initialize() {
|
|
80
|
+
try {
|
|
81
|
+
await client.init();
|
|
82
|
+
// If the IDP just redirected back with a code, complete the exchange
|
|
83
|
+
if (window.location.search.includes("code=")) {
|
|
84
|
+
const { principal, returnTo } = await client.handleRedirectCallback();
|
|
85
|
+
// Strip OAuth params from browser history so the URL is clean
|
|
86
|
+
const clean = new URL(window.location.href);
|
|
87
|
+
clean.searchParams.delete("code");
|
|
88
|
+
clean.searchParams.delete("state");
|
|
89
|
+
clean.searchParams.delete("error");
|
|
90
|
+
clean.searchParams.delete("error_description");
|
|
91
|
+
window.history.replaceState({}, document.title, clean.toString());
|
|
92
|
+
if (!cancelled) {
|
|
93
|
+
setState({
|
|
94
|
+
isLoading: false,
|
|
95
|
+
isAuthenticated: true,
|
|
96
|
+
principal,
|
|
97
|
+
session: client.getSession(),
|
|
98
|
+
error: null,
|
|
99
|
+
});
|
|
100
|
+
onRedirectCallback?.(principal, returnTo);
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// No callback — restore session from storage
|
|
105
|
+
const existing = client.getSession();
|
|
106
|
+
if (!cancelled) {
|
|
107
|
+
setState({
|
|
108
|
+
isLoading: false,
|
|
109
|
+
isAuthenticated: client.isAuthenticated(),
|
|
110
|
+
principal: existing?.principal ?? null,
|
|
111
|
+
session: existing,
|
|
112
|
+
error: null,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
if (!cancelled) {
|
|
118
|
+
setState({
|
|
119
|
+
isLoading: false,
|
|
120
|
+
isAuthenticated: false,
|
|
121
|
+
principal: null,
|
|
122
|
+
session: null,
|
|
123
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
void initialize();
|
|
129
|
+
// Keep React state in sync with BrowserBaseIdpClient session events
|
|
130
|
+
const unsubscribe = client.onSessionChange((event) => {
|
|
131
|
+
if (cancelled)
|
|
132
|
+
return;
|
|
133
|
+
if (event.type === "signed_out" || event.type === "expired") {
|
|
134
|
+
setState({
|
|
135
|
+
isLoading: false,
|
|
136
|
+
isAuthenticated: false,
|
|
137
|
+
principal: null,
|
|
138
|
+
session: null,
|
|
139
|
+
error: null,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
else if (event.session) {
|
|
143
|
+
setState({
|
|
144
|
+
isLoading: false,
|
|
145
|
+
isAuthenticated: true,
|
|
146
|
+
principal: event.session.principal,
|
|
147
|
+
session: event.session,
|
|
148
|
+
error: null,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
return () => {
|
|
153
|
+
cancelled = true;
|
|
154
|
+
unsubscribe();
|
|
155
|
+
};
|
|
156
|
+
}, [client, onRedirectCallback]);
|
|
157
|
+
const loginWithRedirect = useCallback((options) => client.loginWithRedirect(options), [client]);
|
|
158
|
+
const logout = useCallback((options) => client.logout(options), [client]);
|
|
159
|
+
const getAccessToken = useCallback(() => client.getAccessToken(), [client]);
|
|
160
|
+
const refreshSession = useCallback(() => client.refreshSession(), [client]);
|
|
161
|
+
const value = {
|
|
162
|
+
...state,
|
|
163
|
+
client,
|
|
164
|
+
loginWithRedirect,
|
|
165
|
+
logout,
|
|
166
|
+
getAccessToken,
|
|
167
|
+
refreshSession,
|
|
168
|
+
};
|
|
169
|
+
return createElement(BaseIdpContext.Provider, { value }, children);
|
|
170
|
+
}
|
|
171
|
+
// ── Hooks ────────────────────────────────────────────────────────────────────
|
|
172
|
+
/**
|
|
173
|
+
* Access the full auth context from any component inside <BaseIdpProvider>.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* const { isLoading, isAuthenticated, principal, loginWithRedirect, logout } =
|
|
177
|
+
* useBaseIdpAuth();
|
|
178
|
+
*/
|
|
179
|
+
export function useBaseIdpAuth() {
|
|
180
|
+
const ctx = useContext(BaseIdpContext);
|
|
181
|
+
if (!ctx) {
|
|
182
|
+
throw new Error("useBaseIdpAuth() must be called inside a <BaseIdpProvider>. " +
|
|
183
|
+
"Wrap your app root with <BaseIdpProvider client={auth}>.");
|
|
184
|
+
}
|
|
185
|
+
return ctx;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Quick access to the current user (VerifiedPrincipal).
|
|
189
|
+
* Returns { isLoaded, isSignedIn, user }.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* const { isLoaded, isSignedIn, user } = useUser();
|
|
193
|
+
* if (!isLoaded) return <Spinner />;
|
|
194
|
+
* if (!isSignedIn) return <LoginButton />;
|
|
195
|
+
* return <p>Hello, {user.name}</p>;
|
|
196
|
+
*/
|
|
197
|
+
export function useUser() {
|
|
198
|
+
const { isLoading, isAuthenticated, principal } = useBaseIdpAuth();
|
|
199
|
+
return {
|
|
200
|
+
isLoaded: !isLoading,
|
|
201
|
+
isSignedIn: isAuthenticated,
|
|
202
|
+
user: principal,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Access the raw session object (token + expiresAt + principal).
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* const { isLoaded, session } = useSession();
|
|
210
|
+
* if (session) {
|
|
211
|
+
* console.log("token expires at", new Date(session.expiresAt));
|
|
212
|
+
* }
|
|
213
|
+
*/
|
|
214
|
+
export function useSession() {
|
|
215
|
+
const { isLoading, session } = useBaseIdpAuth();
|
|
216
|
+
return {
|
|
217
|
+
isLoaded: !isLoading,
|
|
218
|
+
session,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
21
221
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
1
|
import { BaseIdPClient } from "./client.js";
|
|
2
|
-
import type { BaseIdPConfig, ResolvedConfig, VerifiedPrincipal, VerifyAccessTokenOptions } from "./types.js";
|
|
2
|
+
import type { BaseIdPConfig, MergedUser, ResolvedConfig, UserRepository, VerifiedPrincipal, VerifyAccessTokenOptions } from "./types.js";
|
|
3
3
|
export declare class BaseIdPServerClient extends BaseIdPClient {
|
|
4
4
|
private readonly serverConfig;
|
|
5
5
|
private initialized;
|
|
6
6
|
constructor(serverConfig: BaseIdPConfig);
|
|
7
7
|
init(): Promise<ResolvedConfig>;
|
|
8
8
|
verifyAccessToken(token: string, options?: VerifyAccessTokenOptions): Promise<VerifiedPrincipal>;
|
|
9
|
+
/**
|
|
10
|
+
* First-login upsert — the standard pattern for backends that maintain their
|
|
11
|
+
* own user table alongside Base IDP.
|
|
12
|
+
*
|
|
13
|
+
* Given a verified principal and a thin repository interface:
|
|
14
|
+
* 1. Calls `repository.findBySubject(principal.subject)` to check for an existing row
|
|
15
|
+
* 2. Calls `repository.upsert(data)` to create or update the row
|
|
16
|
+
* 3. Returns `{ principal, isNewUser, localUser }`
|
|
17
|
+
*
|
|
18
|
+
* Apps only need to implement two methods — everything else (token
|
|
19
|
+
* verification, claim extraction, audit fields) is handled by the SDK.
|
|
20
|
+
*
|
|
21
|
+
* Works with any data layer: TypeORM, Prisma, Drizzle, raw SQL, etc.
|
|
22
|
+
*
|
|
23
|
+
* @example — NestJS service
|
|
24
|
+
* ```ts
|
|
25
|
+
* async login(principal: VerifiedPrincipal) {
|
|
26
|
+
* const { isNewUser, localUser } = await this.baseIdp.mergeIdentity(
|
|
27
|
+
* principal,
|
|
28
|
+
* {
|
|
29
|
+
* findBySubject: (sub) => this.users.findOne({ where: { subject: sub } }),
|
|
30
|
+
* upsert: (data) => this.users.save(this.users.create({
|
|
31
|
+
* subject: data.subject,
|
|
32
|
+
* email: data.email,
|
|
33
|
+
* name: data.name,
|
|
34
|
+
* role: data.role,
|
|
35
|
+
* })),
|
|
36
|
+
* },
|
|
37
|
+
* );
|
|
38
|
+
* if (isNewUser) await this.sendWelcomeEmail(localUser);
|
|
39
|
+
* return localUser;
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
mergeIdentity<T extends Record<string, unknown>>(principal: VerifiedPrincipal, repository: UserRepository<T>): Promise<MergedUser<T>>;
|
|
9
44
|
}
|
|
10
45
|
export { BaseIdPServerClient as BaseIdpServerClient };
|
|
11
46
|
export { verifyPasetoV4Public, unsafeFooter, unsafeFooterKid } from "./paseto.js";
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,cAAc,EAEd,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,SAAQ,aAAa;IAGxC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,OAAO,CAAC,WAAW,CAAS;gBAEC,YAAY,EAAE,aAAa;IAIlD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC;IAO/B,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,iBAAiB,CAAC;IAM7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnD,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAoB1B;AAED,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -19,6 +19,57 @@ export class BaseIdPServerClient extends BaseIdPClient {
|
|
|
19
19
|
const keySet = await this.publicKeys();
|
|
20
20
|
return verifyPasetoV4Public(token, keySet, this.cfg, options);
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* First-login upsert — the standard pattern for backends that maintain their
|
|
24
|
+
* own user table alongside Base IDP.
|
|
25
|
+
*
|
|
26
|
+
* Given a verified principal and a thin repository interface:
|
|
27
|
+
* 1. Calls `repository.findBySubject(principal.subject)` to check for an existing row
|
|
28
|
+
* 2. Calls `repository.upsert(data)` to create or update the row
|
|
29
|
+
* 3. Returns `{ principal, isNewUser, localUser }`
|
|
30
|
+
*
|
|
31
|
+
* Apps only need to implement two methods — everything else (token
|
|
32
|
+
* verification, claim extraction, audit fields) is handled by the SDK.
|
|
33
|
+
*
|
|
34
|
+
* Works with any data layer: TypeORM, Prisma, Drizzle, raw SQL, etc.
|
|
35
|
+
*
|
|
36
|
+
* @example — NestJS service
|
|
37
|
+
* ```ts
|
|
38
|
+
* async login(principal: VerifiedPrincipal) {
|
|
39
|
+
* const { isNewUser, localUser } = await this.baseIdp.mergeIdentity(
|
|
40
|
+
* principal,
|
|
41
|
+
* {
|
|
42
|
+
* findBySubject: (sub) => this.users.findOne({ where: { subject: sub } }),
|
|
43
|
+
* upsert: (data) => this.users.save(this.users.create({
|
|
44
|
+
* subject: data.subject,
|
|
45
|
+
* email: data.email,
|
|
46
|
+
* name: data.name,
|
|
47
|
+
* role: data.role,
|
|
48
|
+
* })),
|
|
49
|
+
* },
|
|
50
|
+
* );
|
|
51
|
+
* if (isNewUser) await this.sendWelcomeEmail(localUser);
|
|
52
|
+
* return localUser;
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
async mergeIdentity(principal, repository) {
|
|
57
|
+
const existing = await repository.findBySubject(principal.subject);
|
|
58
|
+
const upsertData = {
|
|
59
|
+
subject: principal.subject,
|
|
60
|
+
email: principal.email,
|
|
61
|
+
name: principal.name,
|
|
62
|
+
role: principal.role,
|
|
63
|
+
accountContext: principal.accountContext,
|
|
64
|
+
claims: principal.claims,
|
|
65
|
+
};
|
|
66
|
+
const localUser = await repository.upsert(upsertData);
|
|
67
|
+
return {
|
|
68
|
+
principal,
|
|
69
|
+
isNewUser: existing === null,
|
|
70
|
+
localUser,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
22
73
|
}
|
|
23
74
|
export { BaseIdPServerClient as BaseIdpServerClient };
|
|
24
75
|
export { verifyPasetoV4Public, unsafeFooter, unsafeFooterKid } from "./paseto.js";
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAWnD,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAGvB;IAFrB,WAAW,GAAG,KAAK,CAAC;IAE5B,YAA6B,YAA2B;QACtD,KAAK,CAAC,YAAY,CAAC,CAAC;QADO,iBAAY,GAAZ,YAAY,CAAe;IAExD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAa,EACb,UAAoC,EAAE;QAEtC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,aAAa,CACjB,SAA4B,EAC5B,UAA6B;QAE7B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtD,OAAO;YACL,SAAS;YACT,SAAS,EAAE,QAAQ,KAAK,IAAI;YAC5B,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -135,4 +135,68 @@ export type PKCEPair = {
|
|
|
135
135
|
challenge: string;
|
|
136
136
|
method: "S256";
|
|
137
137
|
};
|
|
138
|
+
export type LoginWithRedirectOptions = {
|
|
139
|
+
/** Where to send the user after successful login (stored in PKCE tx, passed to onRedirectCallback) */
|
|
140
|
+
returnTo?: string;
|
|
141
|
+
/** Explicit OAuth state — auto-generated if omitted */
|
|
142
|
+
state?: string;
|
|
143
|
+
/** Nonce to bind to the token — auto-generated if omitted */
|
|
144
|
+
nonce?: string;
|
|
145
|
+
/** Override the scopes for this login request */
|
|
146
|
+
scopes?: string | string[];
|
|
147
|
+
/** Override the redirect URI for this login request */
|
|
148
|
+
redirectUri?: string;
|
|
149
|
+
/** Extra OAuth parameters to forward to the authorization endpoint */
|
|
150
|
+
additionalParameters?: Record<string, string | undefined>;
|
|
151
|
+
};
|
|
152
|
+
export type AuthSession = {
|
|
153
|
+
/** Verified identity from Base IDP */
|
|
154
|
+
principal: VerifiedPrincipal;
|
|
155
|
+
/** Raw access token (PASETO v4.public) */
|
|
156
|
+
accessToken: string;
|
|
157
|
+
/** Unix timestamp (ms) when the access token expires */
|
|
158
|
+
expiresAt: number;
|
|
159
|
+
};
|
|
160
|
+
export type BrowserBaseIdpConfig = BaseIdPConfig & {
|
|
161
|
+
/** Exact callback URL — must be registered in Base IDP. Auto-discovered if omitted. */
|
|
162
|
+
redirectUri?: string;
|
|
163
|
+
/** Persist refresh token in localStorage so session survives page reload. Default: false */
|
|
164
|
+
persistSession?: boolean;
|
|
165
|
+
/** Prefix for sessionStorage / localStorage keys. Default: "base_idp" */
|
|
166
|
+
storagePrefix?: string;
|
|
167
|
+
/** Initial scopes — auto-discovered from client registration if omitted */
|
|
168
|
+
scopes?: string | string[];
|
|
169
|
+
/** Audience claim expected in the token. Default: "square-experience" */
|
|
170
|
+
audience?: string;
|
|
171
|
+
};
|
|
172
|
+
export type SessionChangeEvent = {
|
|
173
|
+
type: "signed_in" | "signed_out" | "refreshed" | "expired";
|
|
174
|
+
session: AuthSession | null;
|
|
175
|
+
};
|
|
176
|
+
export type SessionChangeListener = (event: SessionChangeEvent) => void;
|
|
177
|
+
export type UpsertUserData = {
|
|
178
|
+
/** Base IDP global subject ID */
|
|
179
|
+
subject: string;
|
|
180
|
+
email?: string;
|
|
181
|
+
name?: string;
|
|
182
|
+
role: string;
|
|
183
|
+
accountContext: AccountContext;
|
|
184
|
+
claims: AccessClaims;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Minimal repository interface the app must implement to use mergeIdentity.
|
|
188
|
+
* Works with any ORM or raw SQL — TypeORM, Prisma, Drizzle, etc.
|
|
189
|
+
*/
|
|
190
|
+
export type UserRepository<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
191
|
+
findBySubject(subject: string): Promise<T | null>;
|
|
192
|
+
upsert(data: UpsertUserData): Promise<T>;
|
|
193
|
+
};
|
|
194
|
+
export type MergedUser<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
195
|
+
/** Verified Base IDP principal */
|
|
196
|
+
principal: VerifiedPrincipal;
|
|
197
|
+
/** true = first login; false = returning user */
|
|
198
|
+
isNewUser: boolean;
|
|
199
|
+
/** The app's own user row after upsert */
|
|
200
|
+
localUser: T;
|
|
201
|
+
};
|
|
138
202
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|