@atlasauth/react 0.19.0 → 0.20.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/CHANGELOG.md +8 -0
- package/dist/compat-descope.d.ts +85 -0
- package/dist/compat-descope.js +191 -0
- package/dist/compat-descope.js.map +1 -0
- package/dist/compat-kinde.d.ts +166 -0
- package/dist/compat-kinde.js +184 -0
- package/dist/compat-kinde.js.map +1 -0
- package/dist/compat-okta.d.ts +102 -0
- package/dist/compat-okta.js +240 -0
- package/dist/compat-okta.js.map +1 -0
- package/dist/compat.d.ts +5 -1
- package/dist/compat.js +19 -1
- package/dist/compat.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlasauth/react changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.20.0 — 2026-10-25
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `@atlasauth/react/compat`: `useOktaAuthCompat` / `OktaAuthCompat` (okta-react, okta-auth-js), `useKindeBrowserClientCompat` / `useKindeAuthCompat` (Kinde), and `useDescopeCompat`, `useDescopeSessionCompat`, `useDescopeUserCompat`, `getDescopeSessionTokenCompat` (Descope), keeping each SDK's result shapes for apps migrated with `atlas migrate code`.
|
|
10
|
+
|
|
3
11
|
## 0.19.0 — 2026-10-24
|
|
4
12
|
|
|
5
13
|
- Per-call integration audiences (`getToken({ for, cbid })`), partner platforms, operator tokens for partner products.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { AtlasOrganizationMembership, AtlasUser, SessionClaims } from './types';
|
|
2
|
+
/** The user object Descope's `useUser()` returns (the fields apps read). */
|
|
3
|
+
export interface DescopeCompatUser {
|
|
4
|
+
userId: string;
|
|
5
|
+
loginIds: string[];
|
|
6
|
+
email?: string;
|
|
7
|
+
verifiedEmail: boolean;
|
|
8
|
+
phone?: string;
|
|
9
|
+
verifiedPhone: boolean;
|
|
10
|
+
name?: string;
|
|
11
|
+
givenName?: string;
|
|
12
|
+
familyName?: string;
|
|
13
|
+
picture?: string;
|
|
14
|
+
roleNames: string[];
|
|
15
|
+
userTenants: Array<{
|
|
16
|
+
tenantId: string;
|
|
17
|
+
tenantName: string;
|
|
18
|
+
roleNames: string[];
|
|
19
|
+
}>;
|
|
20
|
+
customAttributes: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/** Descope's session-token claims: `roles`, `permissions` and per-tenant `tenants`. */
|
|
23
|
+
export interface DescopeCompatClaims {
|
|
24
|
+
sub: string;
|
|
25
|
+
exp?: number;
|
|
26
|
+
roles: string[];
|
|
27
|
+
permissions: string[];
|
|
28
|
+
tenants: Record<string, {
|
|
29
|
+
roles: string[];
|
|
30
|
+
permissions: string[];
|
|
31
|
+
}>;
|
|
32
|
+
[claim: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Project an Atlas user onto Descope's user shape: organization memberships
|
|
36
|
+
* become `userTenants`, the session's app roles `roleNames`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function descopeUserFrom(user: AtlasUser | null, memberships?: readonly AtlasOrganizationMembership[], claims?: SessionClaims | null): DescopeCompatUser | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Project Atlas session claims onto Descope's: top-level `roles` / `permissions`
|
|
41
|
+
* are the app roles and their permissions (`app_roles` / `app_permissions`),
|
|
42
|
+
* `tenants` holds the active organization's role and permissions.
|
|
43
|
+
*/
|
|
44
|
+
export declare function descopeClaimsFrom(claims: SessionClaims | null): DescopeCompatClaims | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* `useSession()` from Descope, on Atlas: `{ isAuthenticated, isSessionLoading,
|
|
47
|
+
* isSessionFetched, sessionToken, claims }`. `sessionToken` is the Atlas session
|
|
48
|
+
* JWT; Atlas session tokens are short-lived, so it is fetched again shortly
|
|
49
|
+
* before each one expires. `isSessionLoading` stays true until the first token
|
|
50
|
+
* is in hand, so a component that waits for it never sends `Bearer undefined`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function useDescopeSessionCompat(): {
|
|
53
|
+
isAuthenticated: boolean;
|
|
54
|
+
isSessionLoading: boolean;
|
|
55
|
+
isSessionFetched: boolean;
|
|
56
|
+
sessionToken: string | undefined;
|
|
57
|
+
claims: DescopeCompatClaims | undefined;
|
|
58
|
+
};
|
|
59
|
+
/** `useUser()` from Descope, on Atlas: `{ user, isUserLoading, isUserFetched }`. */
|
|
60
|
+
export declare function useDescopeUserCompat(): {
|
|
61
|
+
user: DescopeCompatUser | undefined;
|
|
62
|
+
isUserLoading: boolean;
|
|
63
|
+
isUserFetched: boolean;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* `useDescope()` from Descope, on Atlas — the session members only: `logout()`
|
|
67
|
+
* signs out (revoking the session) and `refresh()` reloads the session. Both
|
|
68
|
+
* resolve `{ ok: true }` like the Descope SDK's responses. Stable across renders,
|
|
69
|
+
* so it can sit in a `useCallback` dependency list as the Descope SDK did.
|
|
70
|
+
*/
|
|
71
|
+
export declare function useDescopeCompat(): {
|
|
72
|
+
logout(): Promise<{
|
|
73
|
+
ok: true;
|
|
74
|
+
}>;
|
|
75
|
+
refresh(): Promise<{
|
|
76
|
+
ok: true;
|
|
77
|
+
}>;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* `getSessionToken()` from Descope, on Atlas. Descope's is synchronous; Atlas
|
|
81
|
+
* mints tokens asynchronously, so this resolves the token (`await` it). Like
|
|
82
|
+
* Descope it yields an empty string when nobody is signed in, or when no
|
|
83
|
+
* `<AtlasProvider>` is mounted.
|
|
84
|
+
*/
|
|
85
|
+
export declare function getDescopeSessionTokenCompat(): Promise<string>;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.descopeUserFrom = descopeUserFrom;
|
|
5
|
+
exports.descopeClaimsFrom = descopeClaimsFrom;
|
|
6
|
+
exports.useDescopeSessionCompat = useDescopeSessionCompat;
|
|
7
|
+
exports.useDescopeUserCompat = useDescopeUserCompat;
|
|
8
|
+
exports.useDescopeCompat = useDescopeCompat;
|
|
9
|
+
exports.getDescopeSessionTokenCompat = getDescopeSessionTokenCompat;
|
|
10
|
+
/**
|
|
11
|
+
* Drop-in helpers for apps moving to Atlas from Descope (`@descope/react-sdk`,
|
|
12
|
+
* and the client half of `@descope/nextjs-sdk`).
|
|
13
|
+
*
|
|
14
|
+
* `atlas migrate code --from descope` rewrites `useSession()`, `useUser()`,
|
|
15
|
+
* `useDescope()` and awaited `getSessionToken()` calls onto these, so the
|
|
16
|
+
* migrated components keep reading the Descope shapes they were written against
|
|
17
|
+
* (`{ isAuthenticated, isSessionLoading, sessionToken }`, `user.userId`,
|
|
18
|
+
* `user.userTenants`, …). Each one is a projection over the `<AtlasProvider>`
|
|
19
|
+
* state; move call sites to `useAuth()` / `useUser()` at your own pace.
|
|
20
|
+
*
|
|
21
|
+
* Where Atlas and Descope differ:
|
|
22
|
+
* - Descope's project-wide roles and permissions are Atlas app roles: they
|
|
23
|
+
* come from the session's `app_roles` / `app_permissions` claims. Tenant
|
|
24
|
+
* roles are organization roles: `userTenants` lists every membership (one
|
|
25
|
+
* role each); the claims' `tenants` holds the active organization.
|
|
26
|
+
* - `customAttributes` is the user's `publicMetadata`.
|
|
27
|
+
* - `useDescopeCompat()` only has `logout()` and `refresh()`; the codemod
|
|
28
|
+
* leaves every other `useDescope()` member for you to port.
|
|
29
|
+
*/
|
|
30
|
+
const react_1 = require("react");
|
|
31
|
+
const AtlasProvider_1 = require("./AtlasProvider");
|
|
32
|
+
const active_atlas_1 = require("./active-atlas");
|
|
33
|
+
function stringList(value) {
|
|
34
|
+
return Array.isArray(value) ? value.filter((v) => typeof v === 'string') : [];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Project an Atlas user onto Descope's user shape: organization memberships
|
|
38
|
+
* become `userTenants`, the session's app roles `roleNames`.
|
|
39
|
+
*/
|
|
40
|
+
function descopeUserFrom(user, memberships = [], claims = null) {
|
|
41
|
+
if (!user)
|
|
42
|
+
return undefined;
|
|
43
|
+
const emails = user.email_addresses ?? [];
|
|
44
|
+
const email = emails.find((e) => e.primary) ?? emails.find((e) => e.verified) ?? emails[0];
|
|
45
|
+
const phones = user.phone_numbers ?? [];
|
|
46
|
+
const phone = phones.find((p) => p.primary) ?? phones[0];
|
|
47
|
+
const name = [user.first_name, user.last_name].filter(Boolean).join(' ').trim();
|
|
48
|
+
const out = {
|
|
49
|
+
userId: user.id,
|
|
50
|
+
loginIds: [email?.email_address, phone?.phone_number, user.username].filter((v) => Boolean(v)),
|
|
51
|
+
verifiedEmail: email?.verified ?? false,
|
|
52
|
+
verifiedPhone: phone?.verified ?? false,
|
|
53
|
+
roleNames: stringList(claims?.app_roles),
|
|
54
|
+
userTenants: memberships.map((m) => ({
|
|
55
|
+
tenantId: m.organization.id,
|
|
56
|
+
tenantName: m.organization.name,
|
|
57
|
+
roleNames: m.role ? [m.role] : [],
|
|
58
|
+
})),
|
|
59
|
+
customAttributes: { ...user.public_metadata },
|
|
60
|
+
};
|
|
61
|
+
if (email)
|
|
62
|
+
out.email = email.email_address;
|
|
63
|
+
if (phone)
|
|
64
|
+
out.phone = phone.phone_number;
|
|
65
|
+
if (name)
|
|
66
|
+
out.name = name;
|
|
67
|
+
if (user.first_name)
|
|
68
|
+
out.givenName = user.first_name;
|
|
69
|
+
if (user.last_name)
|
|
70
|
+
out.familyName = user.last_name;
|
|
71
|
+
if (user.image_url)
|
|
72
|
+
out.picture = user.image_url;
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Project Atlas session claims onto Descope's: top-level `roles` / `permissions`
|
|
77
|
+
* are the app roles and their permissions (`app_roles` / `app_permissions`),
|
|
78
|
+
* `tenants` holds the active organization's role and permissions.
|
|
79
|
+
*/
|
|
80
|
+
function descopeClaimsFrom(claims) {
|
|
81
|
+
if (!claims)
|
|
82
|
+
return undefined;
|
|
83
|
+
const tenants = {};
|
|
84
|
+
if (claims.org_id) {
|
|
85
|
+
tenants[claims.org_id] = {
|
|
86
|
+
roles: claims.org_role ? [claims.org_role] : [],
|
|
87
|
+
permissions: [...(claims.org_permissions ?? [])],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return { ...claims, roles: stringList(claims.app_roles), permissions: stringList(claims.app_permissions), tenants };
|
|
91
|
+
}
|
|
92
|
+
/** The `exp` (unix seconds) of a JWT, or undefined when it cannot be read. */
|
|
93
|
+
function tokenExp(token) {
|
|
94
|
+
try {
|
|
95
|
+
const payload = token.split('.')[1];
|
|
96
|
+
if (!payload)
|
|
97
|
+
return undefined;
|
|
98
|
+
const json = JSON.parse(atob(payload.replace(/-/g, '+').replace(/_/g, '/')));
|
|
99
|
+
return typeof json.exp === 'number' ? json.exp : undefined;
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* `useSession()` from Descope, on Atlas: `{ isAuthenticated, isSessionLoading,
|
|
107
|
+
* isSessionFetched, sessionToken, claims }`. `sessionToken` is the Atlas session
|
|
108
|
+
* JWT; Atlas session tokens are short-lived, so it is fetched again shortly
|
|
109
|
+
* before each one expires. `isSessionLoading` stays true until the first token
|
|
110
|
+
* is in hand, so a component that waits for it never sends `Bearer undefined`.
|
|
111
|
+
*/
|
|
112
|
+
function useDescopeSessionCompat() {
|
|
113
|
+
const atlas = (0, AtlasProvider_1.useAtlas)();
|
|
114
|
+
const signedIn = atlas.status === 'signed_in';
|
|
115
|
+
const [token, setToken] = (0, react_1.useState)(undefined);
|
|
116
|
+
// The latest getToken, without re-running the effect when its identity changes.
|
|
117
|
+
const getToken = (0, react_1.useRef)(atlas.getToken);
|
|
118
|
+
getToken.current = atlas.getToken;
|
|
119
|
+
const sessionKey = signedIn ? `${atlas.user?.id ?? ''}:${atlas.claims?.sid ?? ''}` : '';
|
|
120
|
+
(0, react_1.useEffect)(() => {
|
|
121
|
+
if (!sessionKey) {
|
|
122
|
+
setToken(undefined);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
let cancelled = false;
|
|
126
|
+
let timer;
|
|
127
|
+
const load = async () => {
|
|
128
|
+
const next = await getToken.current().catch(() => null);
|
|
129
|
+
if (cancelled)
|
|
130
|
+
return;
|
|
131
|
+
setToken(next ?? undefined);
|
|
132
|
+
const exp = next ? tokenExp(next) : undefined;
|
|
133
|
+
const wait = exp ? Math.max(5_000, exp * 1000 - Date.now() - 10_000) : 30_000;
|
|
134
|
+
timer = setTimeout(() => void load(), wait);
|
|
135
|
+
};
|
|
136
|
+
void load();
|
|
137
|
+
return () => {
|
|
138
|
+
cancelled = true;
|
|
139
|
+
if (timer)
|
|
140
|
+
clearTimeout(timer);
|
|
141
|
+
};
|
|
142
|
+
}, [sessionKey]);
|
|
143
|
+
return {
|
|
144
|
+
isAuthenticated: signedIn,
|
|
145
|
+
isSessionLoading: atlas.status === 'loading' || (signedIn && token === undefined),
|
|
146
|
+
isSessionFetched: atlas.status !== 'loading',
|
|
147
|
+
sessionToken: signedIn ? token : undefined,
|
|
148
|
+
claims: signedIn ? descopeClaimsFrom(atlas.claims) : undefined,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/** `useUser()` from Descope, on Atlas: `{ user, isUserLoading, isUserFetched }`. */
|
|
152
|
+
function useDescopeUserCompat() {
|
|
153
|
+
const atlas = (0, AtlasProvider_1.useAtlas)();
|
|
154
|
+
return {
|
|
155
|
+
user: atlas.status === 'signed_in' ? descopeUserFrom(atlas.user, atlas.memberships, atlas.claims) : undefined,
|
|
156
|
+
isUserLoading: atlas.status === 'loading',
|
|
157
|
+
isUserFetched: atlas.status !== 'loading',
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* `useDescope()` from Descope, on Atlas — the session members only: `logout()`
|
|
162
|
+
* signs out (revoking the session) and `refresh()` reloads the session. Both
|
|
163
|
+
* resolve `{ ok: true }` like the Descope SDK's responses. Stable across renders,
|
|
164
|
+
* so it can sit in a `useCallback` dependency list as the Descope SDK did.
|
|
165
|
+
*/
|
|
166
|
+
function useDescopeCompat() {
|
|
167
|
+
const { signOut, reload } = (0, AtlasProvider_1.useAtlas)();
|
|
168
|
+
return (0, react_1.useMemo)(() => ({
|
|
169
|
+
async logout() {
|
|
170
|
+
await signOut();
|
|
171
|
+
return { ok: true };
|
|
172
|
+
},
|
|
173
|
+
async refresh() {
|
|
174
|
+
await reload();
|
|
175
|
+
return { ok: true };
|
|
176
|
+
},
|
|
177
|
+
}), [signOut, reload]);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* `getSessionToken()` from Descope, on Atlas. Descope's is synchronous; Atlas
|
|
181
|
+
* mints tokens asynchronously, so this resolves the token (`await` it). Like
|
|
182
|
+
* Descope it yields an empty string when nobody is signed in, or when no
|
|
183
|
+
* `<AtlasProvider>` is mounted.
|
|
184
|
+
*/
|
|
185
|
+
async function getDescopeSessionTokenCompat() {
|
|
186
|
+
const atlas = (0, active_atlas_1.getActiveAtlas)();
|
|
187
|
+
if (!atlas || atlas.status !== 'signed_in')
|
|
188
|
+
return '';
|
|
189
|
+
return (await atlas.getToken()) ?? '';
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=compat-descope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat-descope.js","sourceRoot":"","sources":["../src/compat-descope.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA8Db,0CA+BC;AAOD,8CAUC;AAqBD,0DA4CC;AAGD,oDAWC;AAQD,4CAkBC;AAQD,oEAIC;AAjOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iCAA6D;AAC7D,mDAA2C;AAC3C,iDAAgD;AA8BhD,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,IAAsB,EACtB,cAAsD,EAAE,EACxD,SAA+B,IAAI;IAEnC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,MAAM,GAAG,GAAsB;QAC7B,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3G,aAAa,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK;QACvC,aAAa,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK;QACvC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACxC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE;YAC3B,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI;YAC/B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;SAClC,CAAC,CAAC;QACH,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;KAC9C,CAAC;IACF,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;IAC3C,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,CAAC,UAAU;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACrD,IAAI,IAAI,CAAC,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IACpD,IAAI,IAAI,CAAC,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAA4B;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;YACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/C,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;AACtH,CAAC;AAED,8EAA8E;AAC9E,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAsB,CAAC;QAClG,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB;IAOrC,MAAM,KAAK,GAAG,IAAA,wBAAQ,GAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAqB,SAAS,CAAC,CAAC;IAClE,gFAAgF;IAChF,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,KAAgD,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,SAAS;gBAAE,OAAO;YACtB,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9E,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO;QACL,eAAe,EAAE,QAAQ;QACzB,gBAAgB,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;QACjF,gBAAgB,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC5C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC1C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,SAAgB,oBAAoB;IAKlC,MAAM,KAAK,GAAG,IAAA,wBAAQ,GAAE,CAAC;IACzB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7G,aAAa,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;QACzC,aAAa,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB;IAI9B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAQ,GAAE,CAAC;IACvC,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,MAAM;YACV,MAAM,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,CAAC;QAC/B,CAAC;KACF,CAAC,EACF,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,4BAA4B;IAChD,MAAM,KAAK,GAAG,IAAA,6BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IACtD,OAAO,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { AuthStatus } from './active-atlas';
|
|
2
|
+
import type { AtlasOrganizationMembership, AtlasUser, SessionClaims } from './types';
|
|
3
|
+
/** The user object Kinde's `getUser()` / `user` expose. */
|
|
4
|
+
export interface KindeCompatUser {
|
|
5
|
+
id: string;
|
|
6
|
+
email: string | null;
|
|
7
|
+
given_name: string | null;
|
|
8
|
+
family_name: string | null;
|
|
9
|
+
picture: string | null;
|
|
10
|
+
username: string | null;
|
|
11
|
+
phone_number: string | null;
|
|
12
|
+
}
|
|
13
|
+
/** `getPermission(key)`. */
|
|
14
|
+
export interface KindeCompatPermission {
|
|
15
|
+
isGranted: boolean;
|
|
16
|
+
orgCode: string | null;
|
|
17
|
+
}
|
|
18
|
+
/** `getPermissions()` / `permissions`. */
|
|
19
|
+
export interface KindeCompatPermissions {
|
|
20
|
+
permissions: string[];
|
|
21
|
+
orgCode: string | null;
|
|
22
|
+
}
|
|
23
|
+
/** `getOrganization()` / `organization`. `orgCode` is the Atlas organization id. */
|
|
24
|
+
export interface KindeCompatOrganization {
|
|
25
|
+
orgCode: string | null;
|
|
26
|
+
orgName: string | null;
|
|
27
|
+
}
|
|
28
|
+
/** `getUserOrganizations()` / `userOrganizations`. */
|
|
29
|
+
export interface KindeCompatUserOrganizations {
|
|
30
|
+
orgCodes: string[];
|
|
31
|
+
orgs: Array<{
|
|
32
|
+
code: string;
|
|
33
|
+
name: string | null;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
/** `getClaim(name)`. */
|
|
37
|
+
export interface KindeCompatClaim {
|
|
38
|
+
name: string;
|
|
39
|
+
value: unknown;
|
|
40
|
+
}
|
|
41
|
+
/** `getFlag(code, defaultValue)`: always the default (Atlas has no feature flags). */
|
|
42
|
+
export interface KindeCompatFlag<T> {
|
|
43
|
+
code: string;
|
|
44
|
+
type: 'boolean' | 'string' | 'integer';
|
|
45
|
+
value: T;
|
|
46
|
+
is_default: true;
|
|
47
|
+
defaultValue: T;
|
|
48
|
+
}
|
|
49
|
+
/** The provider state the projections read. */
|
|
50
|
+
export interface KindeCompatState {
|
|
51
|
+
status: AuthStatus;
|
|
52
|
+
user: AtlasUser | null;
|
|
53
|
+
claims: SessionClaims | null;
|
|
54
|
+
memberships?: AtlasOrganizationMembership[];
|
|
55
|
+
}
|
|
56
|
+
/** Project an Atlas user onto Kinde's user shape. */
|
|
57
|
+
export declare function kindeUserFrom(user: AtlasUser | null): KindeCompatUser | null;
|
|
58
|
+
/**
|
|
59
|
+
* Pure projection of the provider state onto the members `useKindeAuth()` and
|
|
60
|
+
* `useKindeBrowserClient()` share. Exported for tests and custom wiring.
|
|
61
|
+
*/
|
|
62
|
+
export declare function kindeSessionFrom(state: KindeCompatState): {
|
|
63
|
+
getFlag<T>(code: string, defaultValue: T, _type?: string): KindeCompatFlag<T>;
|
|
64
|
+
getBooleanFlag(_code: string, defaultValue?: boolean): boolean | undefined;
|
|
65
|
+
getStringFlag(_code: string, defaultValue?: string): string | undefined;
|
|
66
|
+
getIntegerFlag(_code: string, defaultValue?: number): number | undefined;
|
|
67
|
+
isLoading: boolean;
|
|
68
|
+
isAuthenticated: boolean;
|
|
69
|
+
user: KindeCompatUser | null;
|
|
70
|
+
permissions: KindeCompatPermissions;
|
|
71
|
+
organization: KindeCompatOrganization | null;
|
|
72
|
+
userOrganizations: KindeCompatUserOrganizations | null;
|
|
73
|
+
/** The decoded Atlas session claims (Kinde's decoded access token). */
|
|
74
|
+
accessToken: SessionClaims | null;
|
|
75
|
+
getUser: () => KindeCompatUser | null;
|
|
76
|
+
getPermission: (key: string) => KindeCompatPermission;
|
|
77
|
+
getPermissions: () => KindeCompatPermissions;
|
|
78
|
+
getOrganization: () => KindeCompatOrganization | null;
|
|
79
|
+
getUserOrganizations: () => KindeCompatUserOrganizations | null;
|
|
80
|
+
getAccessToken: () => SessionClaims | null;
|
|
81
|
+
/** A claim of the Atlas session token, as `{ name, value }`; null when signed out. */
|
|
82
|
+
getClaim: (name: string, _tokenType?: string) => KindeCompatClaim | null;
|
|
83
|
+
};
|
|
84
|
+
/** Options `login()` / `register()` understand (others are accepted and ignored). */
|
|
85
|
+
export interface KindeCompatLoginOptions {
|
|
86
|
+
app_state?: {
|
|
87
|
+
redirectTo?: string;
|
|
88
|
+
[key: string]: unknown;
|
|
89
|
+
};
|
|
90
|
+
redirectURL?: string;
|
|
91
|
+
post_login_redirect_url?: string;
|
|
92
|
+
/** Where your Atlas sign-in page lives (default `/sign-in`). */
|
|
93
|
+
signInUrl?: string;
|
|
94
|
+
/** Where your Atlas sign-up page lives (default `/sign-up`). */
|
|
95
|
+
signUpUrl?: string;
|
|
96
|
+
[option: string]: unknown;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* `useKindeAuth()` from `@kinde-oss/kinde-auth-react`, on Atlas. `login()` and
|
|
100
|
+
* `register()` open your Atlas sign-in / sign-up pages; `logout(url?)` signs out
|
|
101
|
+
* and goes to `url` (default `/`); `getToken()` resolves the Atlas session JWT.
|
|
102
|
+
*/
|
|
103
|
+
export declare function useKindeAuthCompat(): {
|
|
104
|
+
error: undefined;
|
|
105
|
+
login: (options?: KindeCompatLoginOptions) => Promise<void>;
|
|
106
|
+
register: (options?: KindeCompatLoginOptions) => Promise<void>;
|
|
107
|
+
logout: (options?: string | {
|
|
108
|
+
redirectUrl?: string;
|
|
109
|
+
returnTo?: string;
|
|
110
|
+
}) => Promise<void>;
|
|
111
|
+
getToken: () => Promise<string | undefined>;
|
|
112
|
+
getFlag<T>(code: string, defaultValue: T, _type?: string): KindeCompatFlag<T>;
|
|
113
|
+
getBooleanFlag(_code: string, defaultValue?: boolean): boolean | undefined;
|
|
114
|
+
getStringFlag(_code: string, defaultValue?: string): string | undefined;
|
|
115
|
+
getIntegerFlag(_code: string, defaultValue?: number): number | undefined;
|
|
116
|
+
isLoading: boolean;
|
|
117
|
+
isAuthenticated: boolean;
|
|
118
|
+
user: KindeCompatUser | null;
|
|
119
|
+
permissions: KindeCompatPermissions;
|
|
120
|
+
organization: KindeCompatOrganization | null;
|
|
121
|
+
userOrganizations: KindeCompatUserOrganizations | null;
|
|
122
|
+
/** The decoded Atlas session claims (Kinde's decoded access token). */
|
|
123
|
+
accessToken: SessionClaims | null;
|
|
124
|
+
getUser: () => KindeCompatUser | null;
|
|
125
|
+
getPermission: (key: string) => KindeCompatPermission;
|
|
126
|
+
getPermissions: () => KindeCompatPermissions;
|
|
127
|
+
getOrganization: () => KindeCompatOrganization | null;
|
|
128
|
+
getUserOrganizations: () => KindeCompatUserOrganizations | null;
|
|
129
|
+
getAccessToken: () => SessionClaims | null;
|
|
130
|
+
/** A claim of the Atlas session token, as `{ name, value }`; null when signed out. */
|
|
131
|
+
getClaim: (name: string, _tokenType?: string) => KindeCompatClaim | null;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* `useKindeBrowserClient()` from `@kinde-oss/kinde-auth-nextjs`, on Atlas.
|
|
135
|
+
* `accessTokenRaw` / `getToken()` hold the latest Atlas session JWT (null until the
|
|
136
|
+
* first one is fetched); for a request, prefer `await useAuth().getToken()`, which
|
|
137
|
+
* is always fresh. `refreshData()` reloads the user and session.
|
|
138
|
+
*/
|
|
139
|
+
export declare function useKindeBrowserClientCompat(): {
|
|
140
|
+
error: null;
|
|
141
|
+
accessTokenRaw: string | null;
|
|
142
|
+
accessTokenEncoded: string | null;
|
|
143
|
+
getAccessTokenRaw: () => string | null;
|
|
144
|
+
getToken: () => string | null;
|
|
145
|
+
refreshData: () => Promise<void>;
|
|
146
|
+
getFlag<T>(code: string, defaultValue: T, _type?: string): KindeCompatFlag<T>;
|
|
147
|
+
getBooleanFlag(_code: string, defaultValue?: boolean): boolean | undefined;
|
|
148
|
+
getStringFlag(_code: string, defaultValue?: string): string | undefined;
|
|
149
|
+
getIntegerFlag(_code: string, defaultValue?: number): number | undefined;
|
|
150
|
+
isLoading: boolean;
|
|
151
|
+
isAuthenticated: boolean;
|
|
152
|
+
user: KindeCompatUser | null;
|
|
153
|
+
permissions: KindeCompatPermissions;
|
|
154
|
+
organization: KindeCompatOrganization | null;
|
|
155
|
+
userOrganizations: KindeCompatUserOrganizations | null;
|
|
156
|
+
/** The decoded Atlas session claims (Kinde's decoded access token). */
|
|
157
|
+
accessToken: SessionClaims | null;
|
|
158
|
+
getUser: () => KindeCompatUser | null;
|
|
159
|
+
getPermission: (key: string) => KindeCompatPermission;
|
|
160
|
+
getPermissions: () => KindeCompatPermissions;
|
|
161
|
+
getOrganization: () => KindeCompatOrganization | null;
|
|
162
|
+
getUserOrganizations: () => KindeCompatUserOrganizations | null;
|
|
163
|
+
getAccessToken: () => SessionClaims | null;
|
|
164
|
+
/** A claim of the Atlas session token, as `{ name, value }`; null when signed out. */
|
|
165
|
+
getClaim: (name: string, _tokenType?: string) => KindeCompatClaim | null;
|
|
166
|
+
};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.kindeUserFrom = kindeUserFrom;
|
|
5
|
+
exports.kindeSessionFrom = kindeSessionFrom;
|
|
6
|
+
exports.useKindeAuthCompat = useKindeAuthCompat;
|
|
7
|
+
exports.useKindeBrowserClientCompat = useKindeBrowserClientCompat;
|
|
8
|
+
/**
|
|
9
|
+
* Drop-in helpers for apps moving to Atlas from Kinde (`@kinde-oss/kinde-auth-react`
|
|
10
|
+
* and the browser side of `@kinde-oss/kinde-auth-nextjs`).
|
|
11
|
+
*
|
|
12
|
+
* `atlas migrate code --from kinde` rewrites `useKindeAuth()` to
|
|
13
|
+
* {@link useKindeAuthCompat} and `useKindeBrowserClient()` to
|
|
14
|
+
* {@link useKindeBrowserClientCompat}, so call sites keep the Kinde shapes
|
|
15
|
+
* (`user.given_name`, `getPermission(key).isGranted`, `organization.orgCode`, …)
|
|
16
|
+
* and run on day one. Both are thin projections over the `<AtlasProvider>` state;
|
|
17
|
+
* move call sites to `useUser()` / `useAuth()` / `useOrganization()` at your own pace.
|
|
18
|
+
*
|
|
19
|
+
* What maps, and how:
|
|
20
|
+
* - the user → Kinde's `{ id, email, given_name, family_name, picture, username, phone_number }`;
|
|
21
|
+
* - permissions → the session's organization permissions plus its app-level
|
|
22
|
+
* permissions (`org_permissions` / `app_permissions` claims);
|
|
23
|
+
* - the organization → the active Atlas organization (`orgCode` is its id);
|
|
24
|
+
* - `accessToken` / `getAccessToken()` → the decoded Atlas session claims, and the
|
|
25
|
+
* raw token is the Atlas session JWT;
|
|
26
|
+
* - feature flags have no Atlas counterpart: the flag getters always return the
|
|
27
|
+
* default value you pass (the codemod marks every call site).
|
|
28
|
+
*
|
|
29
|
+
* Every getter works with or without `await`, so code written for either the
|
|
30
|
+
* synchronous (v4) or the asynchronous (v5) Kinde React API keeps working.
|
|
31
|
+
*/
|
|
32
|
+
const react_1 = require("react");
|
|
33
|
+
const AtlasProvider_1 = require("./AtlasProvider");
|
|
34
|
+
const components_shared_1 = require("./components-shared");
|
|
35
|
+
/** Project an Atlas user onto Kinde's user shape. */
|
|
36
|
+
function kindeUserFrom(user) {
|
|
37
|
+
if (!user)
|
|
38
|
+
return null;
|
|
39
|
+
const emails = user.email_addresses ?? [];
|
|
40
|
+
const email = emails.find((e) => e.primary) ?? emails.find((e) => e.verified) ?? emails[0];
|
|
41
|
+
const phones = user.phone_numbers ?? [];
|
|
42
|
+
const phone = phones.find((p) => p.primary) ?? phones[0];
|
|
43
|
+
return {
|
|
44
|
+
id: user.id,
|
|
45
|
+
email: email?.email_address ?? null,
|
|
46
|
+
given_name: user.first_name,
|
|
47
|
+
family_name: user.last_name,
|
|
48
|
+
picture: user.image_url,
|
|
49
|
+
username: user.username,
|
|
50
|
+
phone_number: phone?.phone_number ?? null,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** Organization permissions plus app-level permissions, deduplicated. */
|
|
54
|
+
function heldPermissions(claims) {
|
|
55
|
+
const out = new Set();
|
|
56
|
+
for (const list of [claims?.org_permissions, claims?.app_permissions]) {
|
|
57
|
+
if (!Array.isArray(list))
|
|
58
|
+
continue;
|
|
59
|
+
for (const p of list)
|
|
60
|
+
if (typeof p === 'string')
|
|
61
|
+
out.add(p);
|
|
62
|
+
}
|
|
63
|
+
return [...out];
|
|
64
|
+
}
|
|
65
|
+
function flagType(value) {
|
|
66
|
+
return typeof value === 'boolean' ? 'boolean' : typeof value === 'number' ? 'integer' : 'string';
|
|
67
|
+
}
|
|
68
|
+
/** The flag getters: Atlas has no feature flags, so each returns the default it is given. */
|
|
69
|
+
function flagGetters() {
|
|
70
|
+
return {
|
|
71
|
+
getFlag(code, defaultValue, _type) {
|
|
72
|
+
return { code, type: flagType(defaultValue), value: defaultValue, is_default: true, defaultValue };
|
|
73
|
+
},
|
|
74
|
+
getBooleanFlag(_code, defaultValue) {
|
|
75
|
+
return defaultValue;
|
|
76
|
+
},
|
|
77
|
+
getStringFlag(_code, defaultValue) {
|
|
78
|
+
return defaultValue;
|
|
79
|
+
},
|
|
80
|
+
getIntegerFlag(_code, defaultValue) {
|
|
81
|
+
return defaultValue;
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Pure projection of the provider state onto the members `useKindeAuth()` and
|
|
87
|
+
* `useKindeBrowserClient()` share. Exported for tests and custom wiring.
|
|
88
|
+
*/
|
|
89
|
+
function kindeSessionFrom(state) {
|
|
90
|
+
const signedIn = state.status === 'signed_in';
|
|
91
|
+
const claims = signedIn ? state.claims : null;
|
|
92
|
+
const orgCode = claims?.org_id ?? null;
|
|
93
|
+
const memberships = signedIn ? (state.memberships ?? []) : [];
|
|
94
|
+
const active = memberships.find((m) => m.organization.id === orgCode) ?? null;
|
|
95
|
+
const user = signedIn ? kindeUserFrom(state.user) : null;
|
|
96
|
+
const permissions = { permissions: heldPermissions(claims), orgCode };
|
|
97
|
+
const organization = orgCode
|
|
98
|
+
? { orgCode, orgName: active?.organization.name ?? null }
|
|
99
|
+
: null;
|
|
100
|
+
const userOrganizations = signedIn
|
|
101
|
+
? {
|
|
102
|
+
orgCodes: memberships.map((m) => m.organization.id),
|
|
103
|
+
orgs: memberships.map((m) => ({ code: m.organization.id, name: m.organization.name })),
|
|
104
|
+
}
|
|
105
|
+
: null;
|
|
106
|
+
return {
|
|
107
|
+
isLoading: state.status === 'loading',
|
|
108
|
+
isAuthenticated: signedIn,
|
|
109
|
+
user,
|
|
110
|
+
permissions,
|
|
111
|
+
organization,
|
|
112
|
+
userOrganizations,
|
|
113
|
+
/** The decoded Atlas session claims (Kinde's decoded access token). */
|
|
114
|
+
accessToken: claims,
|
|
115
|
+
getUser: () => user,
|
|
116
|
+
getPermission: (key) => ({
|
|
117
|
+
isGranted: permissions.permissions.includes(key),
|
|
118
|
+
orgCode,
|
|
119
|
+
}),
|
|
120
|
+
getPermissions: () => permissions,
|
|
121
|
+
getOrganization: () => organization,
|
|
122
|
+
getUserOrganizations: () => userOrganizations,
|
|
123
|
+
getAccessToken: () => claims,
|
|
124
|
+
/** A claim of the Atlas session token, as `{ name, value }`; null when signed out. */
|
|
125
|
+
getClaim: (name, _tokenType) => claims ? { name, value: claims[name] ?? null } : null,
|
|
126
|
+
...flagGetters(),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function returnPath(options) {
|
|
130
|
+
return options.app_state?.redirectTo ?? options.redirectURL ?? options.post_login_redirect_url;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* `useKindeAuth()` from `@kinde-oss/kinde-auth-react`, on Atlas. `login()` and
|
|
134
|
+
* `register()` open your Atlas sign-in / sign-up pages; `logout(url?)` signs out
|
|
135
|
+
* and goes to `url` (default `/`); `getToken()` resolves the Atlas session JWT.
|
|
136
|
+
*/
|
|
137
|
+
function useKindeAuthCompat() {
|
|
138
|
+
const atlas = (0, AtlasProvider_1.useAtlas)();
|
|
139
|
+
return {
|
|
140
|
+
...kindeSessionFrom(atlas),
|
|
141
|
+
error: undefined,
|
|
142
|
+
login: async (options = {}) => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(options.signInUrl ?? '/sign-in', returnPath(options))),
|
|
143
|
+
register: async (options = {}) => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(options.signUpUrl ?? '/sign-up', returnPath(options))),
|
|
144
|
+
logout: async (options) => {
|
|
145
|
+
await atlas.signOut();
|
|
146
|
+
const to = typeof options === 'string' ? options : (options?.redirectUrl ?? options?.returnTo);
|
|
147
|
+
(0, components_shared_1.navigateTo)(to ?? '/');
|
|
148
|
+
},
|
|
149
|
+
getToken: async () => (await atlas.getToken()) ?? undefined,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* `useKindeBrowserClient()` from `@kinde-oss/kinde-auth-nextjs`, on Atlas.
|
|
154
|
+
* `accessTokenRaw` / `getToken()` hold the latest Atlas session JWT (null until the
|
|
155
|
+
* first one is fetched); for a request, prefer `await useAuth().getToken()`, which
|
|
156
|
+
* is always fresh. `refreshData()` reloads the user and session.
|
|
157
|
+
*/
|
|
158
|
+
function useKindeBrowserClientCompat() {
|
|
159
|
+
const atlas = (0, AtlasProvider_1.useAtlas)();
|
|
160
|
+
const [token, setToken] = (0, react_1.useState)(null);
|
|
161
|
+
(0, react_1.useEffect)(() => {
|
|
162
|
+
if (atlas.status !== 'signed_in') {
|
|
163
|
+
setToken(null);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
let live = true;
|
|
167
|
+
void atlas.getToken().then((t) => live && setToken(t), () => live && setToken(null));
|
|
168
|
+
return () => {
|
|
169
|
+
live = false;
|
|
170
|
+
};
|
|
171
|
+
}, [atlas.status, atlas.claims]);
|
|
172
|
+
return {
|
|
173
|
+
...kindeSessionFrom(atlas),
|
|
174
|
+
error: null,
|
|
175
|
+
accessTokenRaw: token,
|
|
176
|
+
accessTokenEncoded: token,
|
|
177
|
+
getAccessTokenRaw: () => token,
|
|
178
|
+
getToken: () => token,
|
|
179
|
+
refreshData: async () => {
|
|
180
|
+
await atlas.reload();
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=compat-kinde.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat-kinde.js","sourceRoot":"","sources":["../src/compat-kinde.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { AtlasUser, SessionClaims } from './types';
|
|
2
|
+
import { type ActiveAtlas } from './active-atlas';
|
|
3
|
+
/** The OIDC user claims okta-auth-js's `getUser()` / `token.getUserInfo()` resolve to. */
|
|
4
|
+
export interface OktaCompatUserClaims {
|
|
5
|
+
sub: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
given_name?: string;
|
|
8
|
+
family_name?: string;
|
|
9
|
+
preferred_username?: string;
|
|
10
|
+
email?: string;
|
|
11
|
+
email_verified?: boolean;
|
|
12
|
+
picture?: string;
|
|
13
|
+
[claim: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
/** okta-auth-js's `AuthState`: `null` while loading, then signed in or not. */
|
|
16
|
+
export interface OktaCompatAuthState {
|
|
17
|
+
isAuthenticated: boolean;
|
|
18
|
+
/** The Atlas session token, with the user's profile claims merged into its claims. */
|
|
19
|
+
idToken?: {
|
|
20
|
+
idToken: string;
|
|
21
|
+
claims: OktaCompatUserClaims & SessionClaims;
|
|
22
|
+
};
|
|
23
|
+
/** The Atlas session token and its claims. */
|
|
24
|
+
accessToken?: {
|
|
25
|
+
accessToken: string;
|
|
26
|
+
claims: SessionClaims;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface OktaAuthCompatOptions {
|
|
30
|
+
/** Where your Atlas sign-in page lives (default `/sign-in`). */
|
|
31
|
+
signInUrl?: string;
|
|
32
|
+
/** Where `signOut()` goes when the call does not say (okta-auth-js's option of the same name). Default `/`. */
|
|
33
|
+
postLogoutRedirectUri?: string;
|
|
34
|
+
/** okta-auth-js options (`issuer`, `clientId`, `redirectUri`, `scopes`, `pkce`, …) are accepted and ignored. */
|
|
35
|
+
[option: string]: unknown;
|
|
36
|
+
}
|
|
37
|
+
export interface OktaCompatSignInOptions {
|
|
38
|
+
/** Where to land after sign-in (sent to the sign-in page as `redirect_url`). */
|
|
39
|
+
originalUri?: string;
|
|
40
|
+
[option: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
export interface OktaCompatSignOutOptions {
|
|
43
|
+
postLogoutRedirectUri?: string;
|
|
44
|
+
[option: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
/** okta-auth-js's `AuthSdkError`, thrown when a call needs a signed-in user. */
|
|
47
|
+
export declare class OktaCompatAuthSdkError extends Error {
|
|
48
|
+
readonly errorCode = "INTERNAL";
|
|
49
|
+
readonly errorSummary: string;
|
|
50
|
+
constructor(message: string);
|
|
51
|
+
}
|
|
52
|
+
/** Project an Atlas user onto the OIDC user claims Okta returns. */
|
|
53
|
+
export declare function oktaUserFrom(user: AtlasUser | null): OktaCompatUserClaims | null;
|
|
54
|
+
/**
|
|
55
|
+
* Pure projection of the provider state onto okta-auth-js's `AuthState`.
|
|
56
|
+
* `token` is the session token: `undefined` while it is being read (the state
|
|
57
|
+
* is then `null`, as Okta's is before its first evaluation), `null` when there
|
|
58
|
+
* is none.
|
|
59
|
+
*/
|
|
60
|
+
export declare function oktaAuthStateFrom(state: Pick<ActiveAtlas, 'status' | 'user' | 'claims'>, token: string | null | undefined): OktaCompatAuthState | null;
|
|
61
|
+
/** okta-auth-js's `toRelativeUrl(path, baseUrl)`: an absolute URL loses its `baseUrl` prefix. */
|
|
62
|
+
export declare function toRelativeUrlCompat(path?: string, baseUrl?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* `new OktaAuth(config)` from `@okta/okta-auth-js`, on Atlas, for a React app
|
|
65
|
+
* that renders `<AtlasProvider>`. The config is accepted and ignored apart from
|
|
66
|
+
* `signInUrl` and `postLogoutRedirectUri`: sign-in runs on your Atlas pages and
|
|
67
|
+
* the provider holds the session.
|
|
68
|
+
*/
|
|
69
|
+
export declare class OktaAuthCompat {
|
|
70
|
+
readonly options: OktaAuthCompatOptions;
|
|
71
|
+
/** okta-auth-js's `oktaAuth.token` namespace (`getUserInfo` only). */
|
|
72
|
+
readonly token: {
|
|
73
|
+
getUserInfo(): Promise<OktaCompatUserClaims>;
|
|
74
|
+
};
|
|
75
|
+
private readonly atlas;
|
|
76
|
+
private cached;
|
|
77
|
+
private pending;
|
|
78
|
+
/**
|
|
79
|
+
* @param atlas Where the provider state comes from. Internal: the hook passes
|
|
80
|
+
* its own; by default the `<AtlasProvider>` mounted on the page.
|
|
81
|
+
*/
|
|
82
|
+
constructor(options?: OktaAuthCompatOptions, atlas?: () => ActiveAtlas);
|
|
83
|
+
/** Open your Atlas sign-in page, coming back to `originalUri` afterwards. */
|
|
84
|
+
signInWithRedirect(options?: OktaCompatSignInOptions): Promise<void>;
|
|
85
|
+
/** Sign out, then go to `postLogoutRedirectUri` (default `/`). */
|
|
86
|
+
signOut(options?: OktaCompatSignOutOptions): Promise<void>;
|
|
87
|
+
isAuthenticated(): Promise<boolean>;
|
|
88
|
+
/** The signed-in user's claims; throws `AuthSdkError` when nobody is signed in, like Okta. */
|
|
89
|
+
getUser(): Promise<OktaCompatUserClaims>;
|
|
90
|
+
/** The session token on hand (synchronous, like okta-auth-js), refreshed in the background. */
|
|
91
|
+
getAccessToken(): string | undefined;
|
|
92
|
+
/** Atlas has one session token: the same value as `getAccessToken()`. */
|
|
93
|
+
getIdToken(): string | undefined;
|
|
94
|
+
/** Read a fresh session token now (the async form of `getAccessToken()`). */
|
|
95
|
+
getFreshAccessToken(): Promise<string | undefined>;
|
|
96
|
+
private current;
|
|
97
|
+
}
|
|
98
|
+
/** `useOktaAuth()` from `@okta/okta-react`, on Atlas: `{ oktaAuth, authState }`. */
|
|
99
|
+
export declare function useOktaAuthCompat(): {
|
|
100
|
+
oktaAuth: OktaAuthCompat;
|
|
101
|
+
authState: OktaCompatAuthState | null;
|
|
102
|
+
};
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.OktaAuthCompat = exports.OktaCompatAuthSdkError = void 0;
|
|
5
|
+
exports.oktaUserFrom = oktaUserFrom;
|
|
6
|
+
exports.oktaAuthStateFrom = oktaAuthStateFrom;
|
|
7
|
+
exports.toRelativeUrlCompat = toRelativeUrlCompat;
|
|
8
|
+
exports.useOktaAuthCompat = useOktaAuthCompat;
|
|
9
|
+
/**
|
|
10
|
+
* Drop-in compatibility helpers for React apps moving to Atlas from Okta
|
|
11
|
+
* (`@okta/okta-react` + `@okta/okta-auth-js`): what `atlas migrate code --from okta`
|
|
12
|
+
* rewrites `useOktaAuth()`, `new OktaAuth(config)` and `toRelativeUrl` onto.
|
|
13
|
+
*
|
|
14
|
+
* `useOktaAuthCompat()` keeps okta-react's `{ oktaAuth, authState }` shape, and
|
|
15
|
+
* `OktaAuthCompat` the okta-auth-js methods apps call most (`signInWithRedirect`,
|
|
16
|
+
* `signOut`, `isAuthenticated`, `getUser`, `getAccessToken`, `getIdToken`,
|
|
17
|
+
* `token.getUserInfo`), on top of the mounted `<AtlasProvider>`:
|
|
18
|
+
*
|
|
19
|
+
* - sign-in opens your Atlas sign-in page and comes back to `originalUri`, so
|
|
20
|
+
* okta-react's `restoreOriginalUri` and `<LoginCallback>` are no longer needed;
|
|
21
|
+
* - the "access token" and the "ID token" are both the Atlas session token:
|
|
22
|
+
* verify it on your server with `AtlasBackend` from `@atlasauth/backend`. Its
|
|
23
|
+
* `sub` is the Atlas user id (an Okta access token carried the login there,
|
|
24
|
+
* and the user id in `uid`);
|
|
25
|
+
* - `getAccessToken()` / `getIdToken()` stay synchronous, as in okta-auth-js:
|
|
26
|
+
* they return the freshest unexpired token on hand and refresh it in the
|
|
27
|
+
* background (`await getFreshAccessToken()` when you can wait).
|
|
28
|
+
*
|
|
29
|
+
* Calling a method with no provider mounted throws a clear error, except the
|
|
30
|
+
* synchronous token getters, which return `undefined` like a signed-out Okta app.
|
|
31
|
+
*/
|
|
32
|
+
const react_1 = require("react");
|
|
33
|
+
const AtlasProvider_1 = require("./AtlasProvider");
|
|
34
|
+
const components_shared_1 = require("./components-shared");
|
|
35
|
+
const active_atlas_1 = require("./active-atlas");
|
|
36
|
+
/** okta-auth-js's `AuthSdkError`, thrown when a call needs a signed-in user. */
|
|
37
|
+
class OktaCompatAuthSdkError extends Error {
|
|
38
|
+
errorCode = 'INTERNAL';
|
|
39
|
+
errorSummary;
|
|
40
|
+
constructor(message) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.name = 'AuthSdkError';
|
|
43
|
+
this.errorSummary = message;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.OktaCompatAuthSdkError = OktaCompatAuthSdkError;
|
|
47
|
+
/** Project an Atlas user onto the OIDC user claims Okta returns. */
|
|
48
|
+
function oktaUserFrom(user) {
|
|
49
|
+
if (!user)
|
|
50
|
+
return null;
|
|
51
|
+
const list = user.email_addresses ?? [];
|
|
52
|
+
const email = list.find((e) => e.primary) ?? list.find((e) => e.verified) ?? list[0];
|
|
53
|
+
const out = { sub: user.id };
|
|
54
|
+
const name = [user.first_name, user.last_name].filter(Boolean).join(' ').trim();
|
|
55
|
+
if (name)
|
|
56
|
+
out.name = name;
|
|
57
|
+
if (user.first_name)
|
|
58
|
+
out.given_name = user.first_name;
|
|
59
|
+
if (user.last_name)
|
|
60
|
+
out.family_name = user.last_name;
|
|
61
|
+
// Okta's preferred_username is the login: the username here, else the email.
|
|
62
|
+
const login = user.username ?? email?.email_address;
|
|
63
|
+
if (login)
|
|
64
|
+
out.preferred_username = login;
|
|
65
|
+
if (email) {
|
|
66
|
+
out.email = email.email_address;
|
|
67
|
+
out.email_verified = email.verified;
|
|
68
|
+
}
|
|
69
|
+
if (user.image_url)
|
|
70
|
+
out.picture = user.image_url;
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Pure projection of the provider state onto okta-auth-js's `AuthState`.
|
|
75
|
+
* `token` is the session token: `undefined` while it is being read (the state
|
|
76
|
+
* is then `null`, as Okta's is before its first evaluation), `null` when there
|
|
77
|
+
* is none.
|
|
78
|
+
*/
|
|
79
|
+
function oktaAuthStateFrom(state, token) {
|
|
80
|
+
if (state.status === 'loading')
|
|
81
|
+
return null;
|
|
82
|
+
if (state.status !== 'signed_in')
|
|
83
|
+
return { isAuthenticated: false };
|
|
84
|
+
if (token === undefined)
|
|
85
|
+
return null;
|
|
86
|
+
if (token === null || !state.claims)
|
|
87
|
+
return { isAuthenticated: true };
|
|
88
|
+
const profile = oktaUserFrom(state.user);
|
|
89
|
+
return {
|
|
90
|
+
isAuthenticated: true,
|
|
91
|
+
idToken: { idToken: token, claims: { ...state.claims, ...profile, sub: state.claims.sub } },
|
|
92
|
+
accessToken: { accessToken: token, claims: state.claims },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/** okta-auth-js's `toRelativeUrl(path, baseUrl)`: an absolute URL loses its `baseUrl` prefix. */
|
|
96
|
+
function toRelativeUrlCompat(path = '', baseUrl = '') {
|
|
97
|
+
let out = path;
|
|
98
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(out))
|
|
99
|
+
out = out.substring(baseUrl.length);
|
|
100
|
+
return out.charAt(0) === '/' ? out : `/${out}`;
|
|
101
|
+
}
|
|
102
|
+
/** When a JWT expires (ms since epoch); unknown expiry counts as not expiring. */
|
|
103
|
+
function expiresAt(token) {
|
|
104
|
+
try {
|
|
105
|
+
const part = (token.split('.')[1] ?? '').replace(/-/g, '+').replace(/_/g, '/');
|
|
106
|
+
const exp = JSON.parse(atob(part.padEnd(Math.ceil(part.length / 4) * 4, '='))).exp;
|
|
107
|
+
return typeof exp === 'number' ? exp * 1000 : Number.POSITIVE_INFINITY;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return Number.POSITIVE_INFINITY;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** Like okta-auth-js's `expireEarlySeconds`: a token this close to expiry is not handed out. */
|
|
114
|
+
const EXPIRE_EARLY_MS = 10_000;
|
|
115
|
+
/**
|
|
116
|
+
* `new OktaAuth(config)` from `@okta/okta-auth-js`, on Atlas, for a React app
|
|
117
|
+
* that renders `<AtlasProvider>`. The config is accepted and ignored apart from
|
|
118
|
+
* `signInUrl` and `postLogoutRedirectUri`: sign-in runs on your Atlas pages and
|
|
119
|
+
* the provider holds the session.
|
|
120
|
+
*/
|
|
121
|
+
class OktaAuthCompat {
|
|
122
|
+
options;
|
|
123
|
+
/** okta-auth-js's `oktaAuth.token` namespace (`getUserInfo` only). */
|
|
124
|
+
token;
|
|
125
|
+
atlas;
|
|
126
|
+
cached = null;
|
|
127
|
+
pending = null;
|
|
128
|
+
/**
|
|
129
|
+
* @param atlas Where the provider state comes from. Internal: the hook passes
|
|
130
|
+
* its own; by default the `<AtlasProvider>` mounted on the page.
|
|
131
|
+
*/
|
|
132
|
+
constructor(options = {}, atlas) {
|
|
133
|
+
this.options = options;
|
|
134
|
+
this.token = { getUserInfo: () => this.getUser() };
|
|
135
|
+
if (atlas) {
|
|
136
|
+
this.atlas = atlas;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.atlas = () => (0, active_atlas_1.requireActive)('OktaAuthCompat');
|
|
140
|
+
// Keep a token on hand for the synchronous getters, as Okta's token manager does.
|
|
141
|
+
const prefetch = (state) => {
|
|
142
|
+
if (state?.status === 'signed_in')
|
|
143
|
+
void this.getFreshAccessToken().catch(() => undefined);
|
|
144
|
+
};
|
|
145
|
+
(0, active_atlas_1.onActiveAtlasChange)(prefetch);
|
|
146
|
+
prefetch((0, active_atlas_1.getActiveAtlas)());
|
|
147
|
+
}
|
|
148
|
+
/** Open your Atlas sign-in page, coming back to `originalUri` afterwards. */
|
|
149
|
+
async signInWithRedirect(options = {}) {
|
|
150
|
+
(0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(this.options.signInUrl ?? '/sign-in', options.originalUri));
|
|
151
|
+
}
|
|
152
|
+
/** Sign out, then go to `postLogoutRedirectUri` (default `/`). */
|
|
153
|
+
async signOut(options = {}) {
|
|
154
|
+
await this.atlas().signOut();
|
|
155
|
+
this.cached = null;
|
|
156
|
+
(0, components_shared_1.navigateTo)(options.postLogoutRedirectUri ?? this.options.postLogoutRedirectUri ?? '/');
|
|
157
|
+
}
|
|
158
|
+
async isAuthenticated() {
|
|
159
|
+
return this.atlas().status === 'signed_in';
|
|
160
|
+
}
|
|
161
|
+
/** The signed-in user's claims; throws `AuthSdkError` when nobody is signed in, like Okta. */
|
|
162
|
+
async getUser() {
|
|
163
|
+
const atlas = this.atlas();
|
|
164
|
+
const user = atlas.status === 'signed_in' ? oktaUserFrom(atlas.user) : null;
|
|
165
|
+
if (!user)
|
|
166
|
+
throw new OktaCompatAuthSdkError('getUser: no user is signed in');
|
|
167
|
+
return user;
|
|
168
|
+
}
|
|
169
|
+
/** The session token on hand (synchronous, like okta-auth-js), refreshed in the background. */
|
|
170
|
+
getAccessToken() {
|
|
171
|
+
void this.getFreshAccessToken().catch(() => undefined);
|
|
172
|
+
return this.current();
|
|
173
|
+
}
|
|
174
|
+
/** Atlas has one session token: the same value as `getAccessToken()`. */
|
|
175
|
+
getIdToken() {
|
|
176
|
+
return this.getAccessToken();
|
|
177
|
+
}
|
|
178
|
+
/** Read a fresh session token now (the async form of `getAccessToken()`). */
|
|
179
|
+
getFreshAccessToken() {
|
|
180
|
+
if (!this.pending) {
|
|
181
|
+
this.pending = (async () => {
|
|
182
|
+
const atlas = this.atlas();
|
|
183
|
+
const sub = atlas.claims?.sub;
|
|
184
|
+
if (atlas.status !== 'signed_in' || !sub) {
|
|
185
|
+
this.cached = null;
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
const token = await atlas.getToken();
|
|
189
|
+
this.cached = token ? { token, sub, expiresAt: expiresAt(token) } : null;
|
|
190
|
+
return token ?? undefined;
|
|
191
|
+
})().finally(() => {
|
|
192
|
+
this.pending = null;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
return this.pending;
|
|
196
|
+
}
|
|
197
|
+
current() {
|
|
198
|
+
let atlas;
|
|
199
|
+
try {
|
|
200
|
+
atlas = this.atlas();
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
const c = this.cached;
|
|
206
|
+
// Never hand one user's token to another, nor a token about to expire.
|
|
207
|
+
if (atlas.status !== 'signed_in' || !c || c.sub !== atlas.claims?.sub)
|
|
208
|
+
return undefined;
|
|
209
|
+
return c.expiresAt - EXPIRE_EARLY_MS > Date.now() ? c.token : undefined;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.OktaAuthCompat = OktaAuthCompat;
|
|
213
|
+
/** `useOktaAuth()` from `@okta/okta-react`, on Atlas: `{ oktaAuth, authState }`. */
|
|
214
|
+
function useOktaAuthCompat() {
|
|
215
|
+
const atlas = (0, AtlasProvider_1.useAtlas)();
|
|
216
|
+
const latest = (0, react_1.useRef)(atlas);
|
|
217
|
+
latest.current = atlas;
|
|
218
|
+
// One stable object, like okta-react's: effects that depend on it do not re-run.
|
|
219
|
+
const oktaAuth = (0, react_1.useMemo)(() => new OktaAuthCompat({}, () => latest.current), []);
|
|
220
|
+
const sub = atlas.status === 'signed_in' ? (atlas.claims?.sub ?? null) : null;
|
|
221
|
+
const [token, setToken] = (0, react_1.useState)(null);
|
|
222
|
+
(0, react_1.useEffect)(() => {
|
|
223
|
+
if (!sub)
|
|
224
|
+
return;
|
|
225
|
+
let live = true;
|
|
226
|
+
oktaAuth.getFreshAccessToken().then((value) => {
|
|
227
|
+
if (live)
|
|
228
|
+
setToken({ sub, value: value ?? null });
|
|
229
|
+
}, () => {
|
|
230
|
+
if (live)
|
|
231
|
+
setToken({ sub, value: null });
|
|
232
|
+
});
|
|
233
|
+
return () => {
|
|
234
|
+
live = false;
|
|
235
|
+
};
|
|
236
|
+
// New claims mean a refreshed session token: read it again.
|
|
237
|
+
}, [oktaAuth, sub, atlas.claims]);
|
|
238
|
+
return { oktaAuth, authState: oktaAuthStateFrom(atlas, token && token.sub === sub ? token.value : undefined) };
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=compat-okta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat-okta.js","sourceRoot":"","sources":["../src/compat-okta.ts"],"names":[],"mappings":"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"}
|
package/dist/compat.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Drop-in compatibility helpers for apps moving to Atlas from Auth.js (NextAuth),
|
|
3
|
-
* Auth0 (auth0-react / nextjs-auth0), Supabase Auth
|
|
3
|
+
* Auth0 (auth0-react / nextjs-auth0), Supabase Auth, Better Auth, Okta (okta-react /
|
|
4
|
+
* okta-auth-js), Kinde and Descope.
|
|
4
5
|
*
|
|
5
6
|
* `atlas migrate code --from <vendor>` rewrites an app's imports onto these, so
|
|
6
7
|
* the migrated code keeps the shapes it was written against (`{ data, status }`
|
|
@@ -16,6 +17,9 @@ import { type ComponentType, type ReactNode } from 'react';
|
|
|
16
17
|
import type { AtlasUser, SessionClaims } from './types';
|
|
17
18
|
import { type ActiveAtlas, type GetTokenOptions } from './active-atlas';
|
|
18
19
|
export { getActiveAtlas, type ActiveAtlas } from './active-atlas';
|
|
20
|
+
export * from './compat-okta';
|
|
21
|
+
export * from './compat-kinde';
|
|
22
|
+
export * from './compat-descope';
|
|
19
23
|
/** The primary email address, else the first verified one, else any. */
|
|
20
24
|
export declare function primaryEmail(user: AtlasUser | null): {
|
|
21
25
|
address: string;
|
package/dist/compat.js
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
3
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
18
|
exports.LoginRequiredError = exports.getActiveAtlas = void 0;
|
|
5
19
|
exports.primaryEmail = primaryEmail;
|
|
@@ -26,7 +40,8 @@ exports.betterAuthSessionFrom = betterAuthSessionFrom;
|
|
|
26
40
|
exports.createBetterAuthCompatClient = createBetterAuthCompatClient;
|
|
27
41
|
/**
|
|
28
42
|
* Drop-in compatibility helpers for apps moving to Atlas from Auth.js (NextAuth),
|
|
29
|
-
* Auth0 (auth0-react / nextjs-auth0), Supabase Auth
|
|
43
|
+
* Auth0 (auth0-react / nextjs-auth0), Supabase Auth, Better Auth, Okta (okta-react /
|
|
44
|
+
* okta-auth-js), Kinde and Descope.
|
|
30
45
|
*
|
|
31
46
|
* `atlas migrate code --from <vendor>` rewrites an app's imports onto these, so
|
|
32
47
|
* the migrated code keeps the shapes it was written against (`{ data, status }`
|
|
@@ -44,6 +59,9 @@ const components_shared_1 = require("./components-shared");
|
|
|
44
59
|
const active_atlas_1 = require("./active-atlas");
|
|
45
60
|
var active_atlas_2 = require("./active-atlas");
|
|
46
61
|
Object.defineProperty(exports, "getActiveAtlas", { enumerable: true, get: function () { return active_atlas_2.getActiveAtlas; } });
|
|
62
|
+
__exportStar(require("./compat-okta"), exports);
|
|
63
|
+
__exportStar(require("./compat-kinde"), exports);
|
|
64
|
+
__exportStar(require("./compat-descope"), exports);
|
|
47
65
|
// ---- shared user projection --------------------------------------------------
|
|
48
66
|
/** The primary email address, else the first verified one, else any. */
|
|
49
67
|
function primaryEmail(user) {
|
package/dist/compat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlasauth/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@atlasauth/design": "0.3.0",
|
|
19
|
-
"@atlasauth/js": "0.
|
|
19
|
+
"@atlasauth/js": "0.23.1",
|
|
20
20
|
"@atlasauth/localizations": "0.10.0",
|
|
21
21
|
"@atlasauth/authz": "0.2.0"
|
|
22
22
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
],
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsc -p tsconfig.build.json",
|
|
45
|
-
"typecheck": "
|
|
45
|
+
"typecheck": "tsgo -p tsconfig.json --noEmit --module preserve --moduleResolution bundler --incremental --tsBuildInfoFile node_modules/.cache/typecheck.tsbuildinfo",
|
|
46
46
|
"test": "vitest run"
|
|
47
47
|
}
|
|
48
48
|
}
|