@unisim/sdk 0.152.1 → 0.154.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/README.md +25 -8
- package/dist/UserCountBreakdown.d.ts +22 -0
- package/dist/UserCountBreakdown.d.ts.map +1 -0
- package/dist/UserCountBreakdown.js +264 -0
- package/dist/UserCountBreakdown.js.map +1 -0
- package/dist/UserCountLine.d.ts +23 -1
- package/dist/UserCountLine.d.ts.map +1 -1
- package/dist/UserCountLine.js +132 -33
- package/dist/UserCountLine.js.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +59 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/presence.d.ts +25 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +74 -0
- package/dist/presence.js.map +1 -1
- package/dist/productNames.d.ts +18 -0
- package/dist/productNames.d.ts.map +1 -0
- package/dist/productNames.js +73 -0
- package/dist/productNames.js.map +1 -0
- package/dist/security.d.ts +39 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +93 -5
- package/dist/security.js.map +1 -1
- package/package.json +2 -1
package/dist/presence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,sDAAsD;AACtD,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,4CAA4C;AAC5C,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,wEAAwE;AACxE,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,0DAA0D;AAC1D,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,oEAAoE;AACpE,iFAAiF;AAIjF,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAE7B,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAA;AAEjD,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The apps with no switcher row. Everything else is looked up in the two
|
|
3
|
+
* catalogues — see the header for why this list is short on purpose.
|
|
4
|
+
*/
|
|
5
|
+
export declare const EXTRA_PRODUCT_NAMES: Record<string, string>;
|
|
6
|
+
/**
|
|
7
|
+
* "fire_assess" → "Fire Assess". Names are brand identity and stay in English
|
|
8
|
+
* in every language, exactly as the switcher and the About dialog already do
|
|
9
|
+
* (see the note at the top of `i18n.ts`).
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ **An unknown code is prettified, never dropped.** The database enum gains
|
|
12
|
+
* values without this package being rebuilt — 0176 and 0179 both did — so the
|
|
13
|
+
* breakdown must be able to show an app this build has never heard of. Naming
|
|
14
|
+
* it here afterwards only improves the label; leaving it out would make a live
|
|
15
|
+
* app invisible in a list of live apps.
|
|
16
|
+
*/
|
|
17
|
+
export declare function productDisplayName(code: string): string;
|
|
18
|
+
//# sourceMappingURL=productNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productNames.d.ts","sourceRoot":"","sources":["../src/productNames.ts"],"names":[],"mappings":"AAiCA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtD,CAAA;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
2
|
+
// A product_code → the app's name, for the places that have a code and need a
|
|
3
|
+
// word: the user-count breakdown popup (0.154.0), and anything else that reads
|
|
4
|
+
// a row of `app_presence` / `usage_events` back to a person.
|
|
5
|
+
//
|
|
6
|
+
// The names are NOT retyped here. Both switcher catalogues already carry the
|
|
7
|
+
// name of every app that has a row in the suite switcher, they are the copy the
|
|
8
|
+
// user sees everywhere else, and a second hand-typed list is how an app ends up
|
|
9
|
+
// called two things in one product (the same reason <AboutAppDialog /> looks its
|
|
10
|
+
// title up rather than taking it as a prop).
|
|
11
|
+
//
|
|
12
|
+
// ⚠️ What IS typed here is the short list of product codes with no switcher row
|
|
13
|
+
// at all — an app can beat `app_presence` without appearing in the menu:
|
|
14
|
+
//
|
|
15
|
+
// * `central` — the hub (app.unisim.co.uk). It sends no beat of its own (the
|
|
16
|
+
// line is hidden on the hubs), but a code in the enum with no name is a code
|
|
17
|
+
// that could show up as a raw string, so it is answered here.
|
|
18
|
+
// * `family` — Universal Family (0176) has a native build and deliberately
|
|
19
|
+
// no switcher row: it is invite-only and has its own domain.
|
|
20
|
+
// * `bipolar_bear` / `bipolar_anonymous` — joined the suite count in 0179.
|
|
21
|
+
// Neither uses this SDK (both are vanilla browser JS on Firebase) and
|
|
22
|
+
// neither is in the switcher, but both are in the count, so both need a
|
|
23
|
+
// name the moment anybody looks at the breakdown.
|
|
24
|
+
//
|
|
25
|
+
// A code that is in none of the three sources still renders as something
|
|
26
|
+
// readable rather than blank — see `productDisplayName`.
|
|
27
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
28
|
+
import { DEFAULT_SUITE_PRODUCTS, DEFAULT_UNIVERSAL_APPS_PRODUCTS, } from './SuiteSwitcher.js';
|
|
29
|
+
/**
|
|
30
|
+
* The apps with no switcher row. Everything else is looked up in the two
|
|
31
|
+
* catalogues — see the header for why this list is short on purpose.
|
|
32
|
+
*/
|
|
33
|
+
export const EXTRA_PRODUCT_NAMES = {
|
|
34
|
+
central: 'Universal ID',
|
|
35
|
+
family: 'Universal Family',
|
|
36
|
+
bipolar_bear: 'Bipolar Bear',
|
|
37
|
+
bipolar_anonymous: 'Bipolar Anonymous',
|
|
38
|
+
};
|
|
39
|
+
let cache = null;
|
|
40
|
+
/** Every code we can name, built once from the catalogues plus the extras. */
|
|
41
|
+
function names() {
|
|
42
|
+
if (cache)
|
|
43
|
+
return cache;
|
|
44
|
+
const map = {};
|
|
45
|
+
for (const p of [...DEFAULT_SUITE_PRODUCTS, ...DEFAULT_UNIVERSAL_APPS_PRODUCTS]) {
|
|
46
|
+
if (typeof p.id === 'string' && p.name)
|
|
47
|
+
map[p.id] = p.name;
|
|
48
|
+
}
|
|
49
|
+
cache = { ...map, ...EXTRA_PRODUCT_NAMES };
|
|
50
|
+
return cache;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* "fire_assess" → "Fire Assess". Names are brand identity and stay in English
|
|
54
|
+
* in every language, exactly as the switcher and the About dialog already do
|
|
55
|
+
* (see the note at the top of `i18n.ts`).
|
|
56
|
+
*
|
|
57
|
+
* ⚠️ **An unknown code is prettified, never dropped.** The database enum gains
|
|
58
|
+
* values without this package being rebuilt — 0176 and 0179 both did — so the
|
|
59
|
+
* breakdown must be able to show an app this build has never heard of. Naming
|
|
60
|
+
* it here afterwards only improves the label; leaving it out would make a live
|
|
61
|
+
* app invisible in a list of live apps.
|
|
62
|
+
*/
|
|
63
|
+
export function productDisplayName(code) {
|
|
64
|
+
const known = names()[code];
|
|
65
|
+
if (known)
|
|
66
|
+
return known;
|
|
67
|
+
return code
|
|
68
|
+
.split('_')
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
71
|
+
.join(' ');
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=productNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productNames.js","sourceRoot":"","sources":["../src/productNames.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,6DAA6D;AAC7D,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,6CAA6C;AAC7C,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,kEAAkE;AAClE,+EAA+E;AAC/E,iEAAiE;AACjE,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,sDAAsD;AACtD,EAAE;AACF,yEAAyE;AACzE,yDAAyD;AACzD,iFAAiF;AAEjF,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,oBAAoB,CAAA;AAE3B;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;CACvC,CAAA;AAED,IAAI,KAAK,GAAkC,IAAI,CAAA;AAE/C,8EAA8E;AAC9E,SAAS,KAAK;IACZ,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IACvB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;QAChF,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;YAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAC5D,CAAC;IACD,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAC1C,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IACvB,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC"}
|
package/dist/security.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { useUniversal } from './provider.js';
|
|
2
|
+
/** The providers a company can require (0183). Apple is deliberately not one. */
|
|
3
|
+
export type SsoProvider = 'azure' | 'google';
|
|
2
4
|
export interface OrgSecuritySettings {
|
|
3
5
|
requireMfa: boolean;
|
|
4
6
|
requireSso: boolean;
|
|
7
|
+
/** null = Microsoft OR Google; otherwise only that one (0183). */
|
|
8
|
+
ssoProvider: SsoProvider | null;
|
|
9
|
+
/** null = any address; otherwise the provider's address must be @ this domain. */
|
|
10
|
+
ssoDomain: string | null;
|
|
5
11
|
}
|
|
6
12
|
export interface UseOrgSecurityResult {
|
|
7
13
|
settings: OrgSecuritySettings;
|
|
@@ -21,6 +27,8 @@ export interface UseOrgSecurityResult {
|
|
|
21
27
|
error: string;
|
|
22
28
|
}>;
|
|
23
29
|
}
|
|
30
|
+
/** `save` error when the policy would refuse the admin saving it. */
|
|
31
|
+
export declare const SSO_WOULD_LOCK_YOU_OUT = "sso_would_lock_you_out";
|
|
24
32
|
export declare function useOrgSecurity(orgId?: string | null): UseOrgSecurityResult;
|
|
25
33
|
export interface MfaFactor {
|
|
26
34
|
id: string;
|
|
@@ -53,4 +61,35 @@ export declare function readAssuranceLevel(supabase: ReturnType<typeof useUniver
|
|
|
53
61
|
next: string | null;
|
|
54
62
|
challengeRequired: boolean;
|
|
55
63
|
}>;
|
|
64
|
+
export interface SsoStatus {
|
|
65
|
+
required: boolean;
|
|
66
|
+
met: boolean;
|
|
67
|
+
requiredProvider: SsoProvider | null;
|
|
68
|
+
domain: string | null;
|
|
69
|
+
/** Which provider THIS session signed in with, when it was one. */
|
|
70
|
+
sessionProvider: string | null;
|
|
71
|
+
sessionEmail: string | null;
|
|
72
|
+
}
|
|
73
|
+
export interface UseSsoStatusResult {
|
|
74
|
+
/** Null until known, and when the read failed — never read that as "met". */
|
|
75
|
+
status: SsoStatus | null;
|
|
76
|
+
loading: boolean;
|
|
77
|
+
error: string | null;
|
|
78
|
+
refresh: () => void;
|
|
79
|
+
}
|
|
80
|
+
export declare function useSsoStatus(orgId: string | null): UseSsoStatusResult;
|
|
81
|
+
/**
|
|
82
|
+
* Send the signed-in member through the required provider, back to this page.
|
|
83
|
+
*
|
|
84
|
+
* Signs in with it when the account already has it (the provider leads back
|
|
85
|
+
* to the SAME account), and connects it when it does not — either way the new
|
|
86
|
+
* session is one the policy can see came from that provider. Resolves only if
|
|
87
|
+
* the redirect could not start.
|
|
88
|
+
*/
|
|
89
|
+
export declare function proveSsoSignIn(supabase: ReturnType<typeof useUniversal>['supabase'], provider: SsoProvider, options?: {
|
|
90
|
+
loginHint?: string;
|
|
91
|
+
}): Promise<{
|
|
92
|
+
message: string;
|
|
93
|
+
code: string | null;
|
|
94
|
+
} | null>;
|
|
56
95
|
//# sourceMappingURL=security.d.ts.map
|
package/dist/security.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAiB5C,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,kEAAkE;IAClE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/B,kFAAkF;IAClF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,gFAAgF;IAChF,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnG;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAE9D,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,CAmF1E;AAID,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,sFAAsF;IACtF,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,aAAa,IAAI,mBAAmB,CAsDnD;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,GACpD,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAAC,CAQtF;AASD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,OAAO,CAAA;IACZ,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAA;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mEAAmE;IACnE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB,CA0CrE;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAW1D"}
|
package/dist/security.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useCallback, useEffect, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
|
-
|
|
4
|
+
import { cleanRedirectTo, loginHintParams, rememberOAuthProvider } from './oauth.js';
|
|
5
|
+
const NOTHING_REQUIRED = {
|
|
6
|
+
requireMfa: false, requireSso: false, ssoProvider: null, ssoDomain: null,
|
|
7
|
+
};
|
|
8
|
+
/** `save` error when the policy would refuse the admin saving it. */
|
|
9
|
+
export const SSO_WOULD_LOCK_YOU_OUT = 'sso_would_lock_you_out';
|
|
5
10
|
export function useOrgSecurity(orgId) {
|
|
6
11
|
const { supabase, activeOrgId, session } = useUniversal();
|
|
7
12
|
const targetOrg = orgId ?? activeOrgId ?? null;
|
|
@@ -21,7 +26,7 @@ export function useOrgSecurity(orgId) {
|
|
|
21
26
|
setLoading(true);
|
|
22
27
|
supabase
|
|
23
28
|
.from('org_security_settings')
|
|
24
|
-
.select('require_mfa, require_sso')
|
|
29
|
+
.select('require_mfa, require_sso, sso_provider, sso_domain')
|
|
25
30
|
.eq('org_id', targetOrg)
|
|
26
31
|
.maybeSingle()
|
|
27
32
|
.then(({ data, error: queryError }) => {
|
|
@@ -36,6 +41,9 @@ export function useOrgSecurity(orgId) {
|
|
|
36
41
|
setSettings({
|
|
37
42
|
requireMfa: data?.require_mfa === true,
|
|
38
43
|
requireSso: data?.require_sso === true,
|
|
44
|
+
ssoProvider: data?.sso_provider === 'azure' || data?.sso_provider === 'google'
|
|
45
|
+
? data.sso_provider : null,
|
|
46
|
+
ssoDomain: typeof data?.sso_domain === 'string' && data.sso_domain ? data.sso_domain : null,
|
|
39
47
|
});
|
|
40
48
|
}
|
|
41
49
|
setLoading(false);
|
|
@@ -50,9 +58,25 @@ export function useOrgSecurity(orgId) {
|
|
|
50
58
|
// and updated_by are written by the 0138 trigger — never send them.
|
|
51
59
|
const { error: writeError } = await supabase
|
|
52
60
|
.from('org_security_settings')
|
|
53
|
-
.upsert({
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
.upsert({
|
|
62
|
+
org_id: targetOrg,
|
|
63
|
+
require_mfa: merged.requireMfa,
|
|
64
|
+
require_sso: merged.requireSso,
|
|
65
|
+
sso_provider: merged.ssoProvider,
|
|
66
|
+
sso_domain: merged.ssoDomain,
|
|
67
|
+
}, { onConflict: 'org_id' });
|
|
68
|
+
// 0183's guard: the admin's own session does not meet what they are
|
|
69
|
+
// saving. Named, so the page can say "sign in with Microsoft first"
|
|
70
|
+
// rather than show a raw Postgres message.
|
|
71
|
+
if (writeError) {
|
|
72
|
+
return {
|
|
73
|
+
ok: false,
|
|
74
|
+
error: /sso_would_lock_you_out/.test(writeError.message) ? SSO_WOULD_LOCK_YOU_OUT : writeError.message,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
// The trigger normalises the domain ('@Acme.co.uk ' → 'acme.co.uk').
|
|
78
|
+
if (merged.ssoDomain)
|
|
79
|
+
merged.ssoDomain = merged.ssoDomain.trim().toLowerCase().replace(/^@+/, '') || null;
|
|
56
80
|
setSettings(merged);
|
|
57
81
|
return { ok: true };
|
|
58
82
|
}, [supabase, targetOrg, settings]);
|
|
@@ -126,4 +150,68 @@ export async function readAssuranceLevel(supabase) {
|
|
|
126
150
|
challengeRequired: data.nextLevel === 'aal2' && data.currentLevel !== 'aal2',
|
|
127
151
|
};
|
|
128
152
|
}
|
|
153
|
+
export function useSsoStatus(orgId) {
|
|
154
|
+
const { supabase, session } = useUniversal();
|
|
155
|
+
const [status, setStatus] = useState(null);
|
|
156
|
+
const [loading, setLoading] = useState(true);
|
|
157
|
+
const [error, setError] = useState(null);
|
|
158
|
+
const [nonce, setNonce] = useState(0);
|
|
159
|
+
const refresh = useCallback(() => setNonce((n) => n + 1), []);
|
|
160
|
+
const token = session?.access_token ?? null;
|
|
161
|
+
useEffect(() => {
|
|
162
|
+
if (!token || !orgId) {
|
|
163
|
+
setStatus(null);
|
|
164
|
+
setError(null);
|
|
165
|
+
setLoading(false);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
let cancelled = false;
|
|
169
|
+
setLoading(true);
|
|
170
|
+
supabase.rpc('my_sso_status', { p_org: orgId }).then(({ data, error: rpcError }) => {
|
|
171
|
+
if (cancelled)
|
|
172
|
+
return;
|
|
173
|
+
if (rpcError || !data) {
|
|
174
|
+
setStatus(null);
|
|
175
|
+
setError(rpcError?.message ?? null);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
const d = data;
|
|
179
|
+
const provider = d.required_provider;
|
|
180
|
+
setStatus({
|
|
181
|
+
required: d.required === true,
|
|
182
|
+
met: d.met === true,
|
|
183
|
+
requiredProvider: provider === 'azure' || provider === 'google' ? provider : null,
|
|
184
|
+
domain: typeof d.domain === 'string' ? d.domain : null,
|
|
185
|
+
sessionProvider: typeof d.session_provider === 'string' ? d.session_provider : null,
|
|
186
|
+
sessionEmail: typeof d.session_email === 'string' ? d.session_email : null,
|
|
187
|
+
});
|
|
188
|
+
setError(null);
|
|
189
|
+
}
|
|
190
|
+
setLoading(false);
|
|
191
|
+
});
|
|
192
|
+
return () => { cancelled = true; };
|
|
193
|
+
}, [supabase, token, orgId, nonce]);
|
|
194
|
+
return { status, loading, error, refresh };
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Send the signed-in member through the required provider, back to this page.
|
|
198
|
+
*
|
|
199
|
+
* Signs in with it when the account already has it (the provider leads back
|
|
200
|
+
* to the SAME account), and connects it when it does not — either way the new
|
|
201
|
+
* session is one the policy can see came from that provider. Resolves only if
|
|
202
|
+
* the redirect could not start.
|
|
203
|
+
*/
|
|
204
|
+
export async function proveSsoSignIn(supabase, provider, options = {}) {
|
|
205
|
+
const redirectTo = cleanRedirectTo(window.location.href);
|
|
206
|
+
const queryParams = loginHintParams(provider, options.loginHint);
|
|
207
|
+
rememberOAuthProvider(provider);
|
|
208
|
+
const { data } = await supabase.auth.getUserIdentities();
|
|
209
|
+
const linked = (data?.identities ?? []).some((i) => i.provider === provider);
|
|
210
|
+
const { error } = linked
|
|
211
|
+
? await supabase.auth.signInWithOAuth({ provider, options: { redirectTo, queryParams } })
|
|
212
|
+
: await supabase.auth.linkIdentity({ provider, options: { redirectTo, queryParams } });
|
|
213
|
+
if (!error)
|
|
214
|
+
return null;
|
|
215
|
+
return { message: error.message, code: error.code ?? null };
|
|
216
|
+
}
|
|
129
217
|
//# sourceMappingURL=security.js.map
|
package/dist/security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unisim/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.154.0",
|
|
4
4
|
"description": "Shared React SDK for the Universal Suite — auth, entitlements, usage telemetry, changelog, org admin.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Universal Simulation Ltd",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"test:google-signin": "npm run build && node tests/google-web-signin.mjs",
|
|
90
90
|
"test:trial-merge": "npm run build && node tests/trial-merge.mjs",
|
|
91
91
|
"test:sign-in-methods": "npm run build && node tests/sign-in-methods.mjs",
|
|
92
|
+
"test:sso-policy": "npm run build && node tests/sso-policy.mjs",
|
|
92
93
|
"test:email-code": "npm run build && node tests/email-code.mjs",
|
|
93
94
|
"test:signin-sso": "npm run build && node tests/signin-sso.browser.mjs",
|
|
94
95
|
"prepublishOnly": "npm run typecheck && npm run build",
|