@atlasauth/backend 0.26.0 → 0.27.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 +10 -0
- package/dist/client/abac.d.ts +65 -0
- package/dist/client/abac.js +25 -0
- package/dist/client/abac.js.map +1 -1
- package/dist/client/access-policies.d.ts +84 -2
- package/dist/client/access-policies.js +8 -0
- package/dist/client/access-policies.js.map +1 -1
- package/dist/client/actions.d.ts +1 -1
- package/dist/client/actions.js.map +1 -1
- package/dist/client/agent-platform.d.ts +294 -0
- package/dist/client/agent-platform.js +132 -0
- package/dist/client/agent-platform.js.map +1 -0
- package/dist/client/app-catalog.d.ts +60 -1
- package/dist/client/app-catalog.js +32 -2
- package/dist/client/app-catalog.js.map +1 -1
- package/dist/client/authz-decisions.d.ts +46 -0
- package/dist/client/authz-decisions.js +13 -0
- package/dist/client/authz-decisions.js.map +1 -1
- package/dist/client/connections.d.ts +12 -0
- package/dist/client/connections.js +7 -0
- package/dist/client/connections.js.map +1 -1
- package/dist/client/desktop-mfa.d.ts +37 -0
- package/dist/client/desktop-mfa.js +14 -0
- package/dist/client/desktop-mfa.js.map +1 -1
- package/dist/client/devices.d.ts +130 -0
- package/dist/client/devices.js +54 -0
- package/dist/client/devices.js.map +1 -1
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/fga.d.ts +176 -1
- package/dist/client/fga.js +41 -1
- package/dist/client/fga.js.map +1 -1
- package/dist/client/index.d.ts +3782 -2946
- package/dist/client/index.js +28 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/log-streams.d.ts +1 -1
- package/dist/client/mcp-gateways.d.ts +148 -2
- package/dist/client/mcp-gateways.js +52 -0
- package/dist/client/mcp-gateways.js.map +1 -1
- package/dist/client/messaging.d.ts +11 -2
- package/dist/client/messaging.js.map +1 -1
- package/dist/client/oauth-protocols.d.ts +116 -0
- package/dist/client/oauth-protocols.js +54 -0
- package/dist/client/oauth-protocols.js.map +1 -0
- package/dist/client/oauth-providers.d.ts +4 -4
- package/dist/client/org-ldap-connections.d.ts +3 -0
- package/dist/client/org-ldap-connections.js.map +1 -1
- package/dist/client/organizations.d.ts +14 -0
- package/dist/client/organizations.js.map +1 -1
- package/dist/client/risk-containment.d.ts +244 -0
- package/dist/client/risk-containment.js +120 -0
- package/dist/client/risk-containment.js.map +1 -0
- package/dist/client/saml-idp.d.ts +183 -0
- package/dist/client/saml-idp.js +71 -0
- package/dist/client/saml-idp.js.map +1 -0
- package/dist/client/scim-provisioning.d.ts +100 -4
- package/dist/client/scim-provisioning.js +30 -0
- package/dist/client/scim-provisioning.js.map +1 -1
- package/dist/client/scim-tokens.d.ts +34 -0
- package/dist/client/scim-tokens.js +17 -0
- package/dist/client/scim-tokens.js.map +1 -1
- package/dist/client/service-connectors.d.ts +1 -1
- package/dist/client/ssf.d.ts +29 -0
- package/dist/client/ssf.js +17 -0
- package/dist/client/ssf.js.map +1 -1
- package/dist/client/users.d.ts +9 -0
- package/dist/client/users.js +9 -0
- package/dist/client/users.js.map +1 -1
- package/dist/client/vault.d.ts +54 -0
- package/dist/client/vault.js +30 -0
- package/dist/client/vault.js.map +1 -1
- package/dist/client/vc.d.ts +54 -2
- package/dist/client/vc.js +15 -0
- package/dist/client/vc.js.map +1 -1
- package/dist/client/workflows.d.ts +182 -3
- package/dist/client/workflows.js +34 -0
- package/dist/client/workflows.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/oauth-resource.d.ts +30 -3
- package/dist/oauth-resource.js +43 -2
- package/dist/oauth-resource.js.map +1 -1
- package/dist/txn-token.d.ts +36 -0
- package/dist/txn-token.js +30 -0
- package/dist/txn-token.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oauthProtocolsResource = oauthProtocolsResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
/** Refresh-token search and bulk revoke; the OpenID provider's extra keys; custom token-exchange subject types. */
|
|
6
|
+
function oauthProtocolsResource(request) {
|
|
7
|
+
const profiles = (clientId) => `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/token_exchange_profiles`;
|
|
8
|
+
return {
|
|
9
|
+
refreshTokens: {
|
|
10
|
+
/** Search the refresh grants OAuth apps hold. Tokens and hashes are never returned. */
|
|
11
|
+
list(query = {}) {
|
|
12
|
+
return request({ method: 'GET', path: '/v1/refresh_tokens', query });
|
|
13
|
+
},
|
|
14
|
+
/** Revoke by ids, or every active grant of a user and / or app. A request with no filter is refused. */
|
|
15
|
+
revoke(body) {
|
|
16
|
+
return request({ method: 'POST', path: '/v1/refresh_tokens/revoke', body });
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
federation: {
|
|
20
|
+
/** This instance's OpenID Federation entity identifier, endpoints and configured anchors. */
|
|
21
|
+
get() {
|
|
22
|
+
return request({ method: 'GET', path: '/v1/federation' });
|
|
23
|
+
},
|
|
24
|
+
/** Dry-run: resolve an entity's trust chain against the configured anchors. Registers nothing. */
|
|
25
|
+
resolve(body) {
|
|
26
|
+
return request({ method: 'POST', path: '/v1/federation/resolve', body });
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
opKeys: {
|
|
30
|
+
list() {
|
|
31
|
+
return request({ method: 'GET', path: '/v1/instance/op_keys' });
|
|
32
|
+
},
|
|
33
|
+
/** Rotate one algorithm's key; the previous public key stays published for the grace window. */
|
|
34
|
+
rotate(body) {
|
|
35
|
+
return request({ method: 'POST', path: '/v1/instance/op_keys/rotate', body });
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
tokenExchangeProfiles: {
|
|
39
|
+
list(clientId) {
|
|
40
|
+
return request({ method: 'GET', path: profiles(clientId) });
|
|
41
|
+
},
|
|
42
|
+
create(clientId, body) {
|
|
43
|
+
return request({ method: 'POST', path: profiles(clientId), body });
|
|
44
|
+
},
|
|
45
|
+
update(clientId, profileId, body) {
|
|
46
|
+
return request({ method: 'PATCH', path: `${profiles(clientId)}/${(0, request_1.enc)(profileId)}`, body });
|
|
47
|
+
},
|
|
48
|
+
delete(clientId, profileId) {
|
|
49
|
+
return request({ method: 'DELETE', path: `${profiles(clientId)}/${(0, request_1.enc)(profileId)}` });
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=oauth-protocols.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-protocols.js","sourceRoot":"","sources":["../../src/client/oauth-protocols.ts"],"names":[],"mappings":";;AA4DA,wDA+CC;AA3GD,uCAAgD;AA2DhD,mHAAmH;AACnH,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpG,OAAO;QACL,aAAa,EAAE;YACb,uFAAuF;YACvF,IAAI,CAAC,QAAmG,EAAE;gBACxG,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,wGAAwG;YACxG,MAAM,CAAC,IAA8D;gBACnE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,CAAC;SACF;QACD,UAAU,EAAE;YACV,6FAA6F;YAC7F,GAAG;gBACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,kGAAkG;YAClG,OAAO,CAAC,IAAkD;gBACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;SACF;QACD,MAAM,EAAE;YACN,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,gGAAgG;YAChG,MAAM,CAAC,IAA0D;gBAC/D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;SACF;QACD,qBAAqB,EAAE;YACrB,IAAI,CAAC,QAAgB;gBACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,CAAC,QAAgB,EAAE,IAAqE;gBAC5F,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,QAAgB,EAAE,SAAiB,EAAE,IAA0C;gBACpF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM,CAAC,QAAgB,EAAE,SAAiB;gBACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -57,7 +57,7 @@ export interface OAuthProvider {
|
|
|
57
57
|
custom_redirect_uri?: string | null;
|
|
58
58
|
/** The instance's icon override for this provider's button, or null. */
|
|
59
59
|
icon_url?: string | null;
|
|
60
|
-
/** Wallet providers only (siwe, siws, siwf): the stored verifier settings. */
|
|
60
|
+
/** Wallet providers only (siwe, siws, siwb, siwf): the stored verifier settings. */
|
|
61
61
|
setting_values?: Record<string, string>;
|
|
62
62
|
}
|
|
63
63
|
export type OAuthProviderMode = 'native' | 'redirect';
|
|
@@ -73,14 +73,14 @@ export interface ListOAuthProvidersParams {
|
|
|
73
73
|
* clears one; an unknown key is refused.
|
|
74
74
|
*/
|
|
75
75
|
export interface OAuthWalletSettings {
|
|
76
|
-
/** siwe / siws / siwf: the expected domain (`hostname[:port]`). */
|
|
76
|
+
/** siwe / siws / siwb / siwf: the expected domain (`hostname[:port]`). */
|
|
77
77
|
domain?: string | null;
|
|
78
78
|
/** siwe / siwf: allowed chain ids (positive integers, array or comma list). */
|
|
79
79
|
chain_ids?: number[] | string | null;
|
|
80
80
|
/** siwe: an https RPC URL; enables smart-contract (EIP-1271) wallets. */
|
|
81
81
|
rpc_url?: string | null;
|
|
82
|
-
/** siws: allowed networks. */
|
|
83
|
-
networks?: Array<'mainnet' | 'devnet' | 'testnet'> | string | null;
|
|
82
|
+
/** siws: allowed networks. siwb: allowed Bitcoin networks (`mainnet`, `testnet`, `testnet4`, `signet`, `regtest`). */
|
|
83
|
+
networks?: Array<'mainnet' | 'devnet' | 'testnet' | 'testnet4' | 'signet' | 'regtest'> | string | null;
|
|
84
84
|
/** siwf: an https Optimism RPC URL, required to verify FID ownership. */
|
|
85
85
|
optimism_rpc_url?: string | null;
|
|
86
86
|
/** siwf: the Farcaster ID registry contract (`0x…`). */
|
|
@@ -19,6 +19,7 @@ export interface OrgLdapConnection {
|
|
|
19
19
|
base_dn: string;
|
|
20
20
|
user_filter: string;
|
|
21
21
|
start_tls: boolean;
|
|
22
|
+
require_consent_screen: boolean;
|
|
22
23
|
attributes: OrgLdapAttributeMap;
|
|
23
24
|
has_bind_password: boolean;
|
|
24
25
|
default_role_id: string | null;
|
|
@@ -36,6 +37,8 @@ export interface UpdateOrgLdapConnectionBody {
|
|
|
36
37
|
/** Search filter with a `{{username}}` placeholder. */
|
|
37
38
|
user_filter?: string;
|
|
38
39
|
start_tls?: boolean;
|
|
40
|
+
/** Ask the person to confirm the sign-in before it completes (the sign-in response then carries `consent_required`). */
|
|
41
|
+
require_consent_screen?: boolean;
|
|
39
42
|
attributes?: OrgLdapAttributeMap;
|
|
40
43
|
/** Service-account password. Write-only; re-encrypted only when supplied. */
|
|
41
44
|
bind_password?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-ldap-connections.js","sourceRoot":"","sources":["../../src/client/org-ldap-connections.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"org-ldap-connections.js","sourceRoot":"","sources":["../../src/client/org-ldap-connections.ts"],"names":[],"mappings":";;AAiEA,gEAuCC;AAxGD,uCAAgD;AAiEhD,SAAgB,0BAA0B,CAAC,OAAkB;IAC3D,OAAO;QACL,IAAI,CACF,SAAuC,EAAE;YAEzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,CACJ,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CACJ,EAAU,EACV,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE;gBAC3C,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QACD;;;WAGG;QACH,IAAI,CAAC,EAAU,EAAE,OAAmC,EAAE;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -90,6 +90,14 @@ export interface OrganizationPolicySettings {
|
|
|
90
90
|
/** Cap on the absolute session lifetime for members, in seconds (300 … 7776000). */
|
|
91
91
|
maxSessionAgeSeconds?: number;
|
|
92
92
|
endUserPool?: OrganizationEndUserPoolPolicy;
|
|
93
|
+
/** Break-glass: addresses (at most 20) that may still use a password while `ssoRequired` is on. Each use is audited. */
|
|
94
|
+
ssoBypass?: string[];
|
|
95
|
+
/** Technical contacts (at most 10) recorded for the organization's connections. */
|
|
96
|
+
itContacts?: Array<{
|
|
97
|
+
email: string;
|
|
98
|
+
name?: string;
|
|
99
|
+
role?: string;
|
|
100
|
+
}>;
|
|
93
101
|
[key: string]: unknown;
|
|
94
102
|
}
|
|
95
103
|
export interface OrganizationPolicy {
|
|
@@ -248,6 +256,12 @@ export interface OrganizationPolicyPatch {
|
|
|
248
256
|
requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'> | null;
|
|
249
257
|
passwordPolicyOverride?: OrgPasswordPolicyOverride | null;
|
|
250
258
|
ssoRequired?: boolean | null;
|
|
259
|
+
ssoBypass?: string[] | null;
|
|
260
|
+
itContacts?: Array<{
|
|
261
|
+
email: string;
|
|
262
|
+
name?: string;
|
|
263
|
+
role?: string;
|
|
264
|
+
}> | null;
|
|
251
265
|
sessionIdleOverrideMs?: number | null;
|
|
252
266
|
/** Restrict member sign-in methods; `null` clears (all methods). Unknown method → 400. */
|
|
253
267
|
allowedSignInMethods?: string[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
import type { ListPage } from './types';
|
|
3
|
+
export type RiskyUserState = 'none' | 'at_risk' | 'confirmed_compromised' | 'dismissed' | 'remediated';
|
|
4
|
+
export interface RiskyUser {
|
|
5
|
+
object: 'risky_user';
|
|
6
|
+
user_id: string;
|
|
7
|
+
state: RiskyUserState;
|
|
8
|
+
level: 'low' | 'medium' | 'high';
|
|
9
|
+
/** Cumulative score; halves every 72 hours. */
|
|
10
|
+
score: number;
|
|
11
|
+
reasons: string[];
|
|
12
|
+
last_event_at: number | null;
|
|
13
|
+
resolved_by: string | null;
|
|
14
|
+
resolved_at: number | null;
|
|
15
|
+
updated_at: number;
|
|
16
|
+
}
|
|
17
|
+
export interface UserContainment {
|
|
18
|
+
object: 'user_containment';
|
|
19
|
+
id: string;
|
|
20
|
+
user_id: string;
|
|
21
|
+
state: 'contained' | 'released';
|
|
22
|
+
reason: string | null;
|
|
23
|
+
source: string;
|
|
24
|
+
/** What containment revoked: sessions, api_tokens, api_keys, agent_grants, device_keys, desktop_devices, remembered_devices, temporary_passes. */
|
|
25
|
+
revoked: Record<string, number>;
|
|
26
|
+
contained_by: string | null;
|
|
27
|
+
released_by: string | null;
|
|
28
|
+
created_at: number;
|
|
29
|
+
released_at: number | null;
|
|
30
|
+
already_contained?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface MfaFactorQuarantine {
|
|
33
|
+
object: 'mfa_factor_quarantine';
|
|
34
|
+
id: string;
|
|
35
|
+
user_id: string;
|
|
36
|
+
factor_type: string;
|
|
37
|
+
factor_id: string;
|
|
38
|
+
reason: string | null;
|
|
39
|
+
until: number;
|
|
40
|
+
released_at: number | null;
|
|
41
|
+
created_at: number;
|
|
42
|
+
}
|
|
43
|
+
export interface TemporaryAccessPass {
|
|
44
|
+
object: 'temporary_access_pass';
|
|
45
|
+
id: string;
|
|
46
|
+
user_id: string;
|
|
47
|
+
expires_at: number;
|
|
48
|
+
uses_left: number;
|
|
49
|
+
require_enrolment: boolean;
|
|
50
|
+
bound_ip: string | null;
|
|
51
|
+
issued_by: string | null;
|
|
52
|
+
reason: string | null;
|
|
53
|
+
last_used_at: number | null;
|
|
54
|
+
created_at: number;
|
|
55
|
+
}
|
|
56
|
+
export interface CreateTemporaryAccessBody {
|
|
57
|
+
/** 60 to 604800; default 3600. */
|
|
58
|
+
lifetime_seconds?: number;
|
|
59
|
+
/** Default true (one use). */
|
|
60
|
+
one_time?: boolean;
|
|
61
|
+
/** 1 to 100 uses when `one_time` is false; default 5. */
|
|
62
|
+
uses?: number;
|
|
63
|
+
/** Make the user register a passkey or second factor after signing in; default true. */
|
|
64
|
+
require_enrolment?: boolean;
|
|
65
|
+
bound_ip?: string;
|
|
66
|
+
reason?: string;
|
|
67
|
+
}
|
|
68
|
+
/** Risky-user lifecycle, one-action account containment and risky-factor quarantine. */
|
|
69
|
+
export declare function riskResource(request: RequestFn): {
|
|
70
|
+
riskyUsers: {
|
|
71
|
+
list(query?: {
|
|
72
|
+
state?: Exclude<RiskyUserState, "none">;
|
|
73
|
+
limit?: number;
|
|
74
|
+
}): Promise<ListPage<RiskyUser>>;
|
|
75
|
+
get(userId: string): Promise<RiskyUser>;
|
|
76
|
+
dismiss(userId: string): Promise<RiskyUser>;
|
|
77
|
+
confirm(userId: string): Promise<RiskyUser>;
|
|
78
|
+
remediate(userId: string): Promise<RiskyUser>;
|
|
79
|
+
forcePasswordChange(userId: string): Promise<{
|
|
80
|
+
object: "risk_remediation";
|
|
81
|
+
user_id: string;
|
|
82
|
+
action: string;
|
|
83
|
+
sessions_revoked: number;
|
|
84
|
+
}>;
|
|
85
|
+
forceReauth(userId: string): Promise<{
|
|
86
|
+
object: "risk_remediation";
|
|
87
|
+
user_id: string;
|
|
88
|
+
action: string;
|
|
89
|
+
sessions_revoked: number;
|
|
90
|
+
}>;
|
|
91
|
+
};
|
|
92
|
+
containment: {
|
|
93
|
+
/** Contain an account: sign-in disabled, password invalidated, sessions, tokens, keys and devices revoked. */
|
|
94
|
+
contain(userId: string, body?: {
|
|
95
|
+
reason?: string;
|
|
96
|
+
}): Promise<UserContainment>;
|
|
97
|
+
release(userId: string): Promise<UserContainment>;
|
|
98
|
+
list(query?: {
|
|
99
|
+
user_id?: string;
|
|
100
|
+
}): Promise<ListPage<UserContainment>>;
|
|
101
|
+
};
|
|
102
|
+
factorQuarantines: {
|
|
103
|
+
list(query?: {
|
|
104
|
+
user_id?: string;
|
|
105
|
+
active?: boolean;
|
|
106
|
+
}): Promise<ListPage<MfaFactorQuarantine>>;
|
|
107
|
+
release(id: string): Promise<MfaFactorQuarantine>;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
/** Temporary access passes (`users.createTemporaryAccess`). */
|
|
111
|
+
export declare function temporaryAccessResource(request: RequestFn): {
|
|
112
|
+
/** Issue a pass. The `code` is in this response only. */
|
|
113
|
+
create(userId: string, body?: CreateTemporaryAccessBody): Promise<TemporaryAccessPass & {
|
|
114
|
+
code: string;
|
|
115
|
+
}>;
|
|
116
|
+
list(userId: string): Promise<ListPage<TemporaryAccessPass>>;
|
|
117
|
+
revoke(userId: string, passId: string): Promise<{
|
|
118
|
+
object: "temporary_access_pass";
|
|
119
|
+
id: string;
|
|
120
|
+
deleted: true;
|
|
121
|
+
}>;
|
|
122
|
+
};
|
|
123
|
+
export interface EmailRiskResult {
|
|
124
|
+
object: 'email_risk';
|
|
125
|
+
verdict: 'allow' | 'review' | 'block';
|
|
126
|
+
score: number;
|
|
127
|
+
reasons: string[];
|
|
128
|
+
email_domain: string;
|
|
129
|
+
mode: string;
|
|
130
|
+
checks: {
|
|
131
|
+
syntax: boolean;
|
|
132
|
+
disposable: boolean;
|
|
133
|
+
role_account: boolean;
|
|
134
|
+
mx: boolean | null;
|
|
135
|
+
suppressed: boolean;
|
|
136
|
+
mailbox: Record<string, unknown> | null;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export interface EmailRiskSettings {
|
|
140
|
+
object: 'email_risk_settings';
|
|
141
|
+
mode: 'off' | 'mx' | 'provider';
|
|
142
|
+
provider: 'zerobounce' | 'kickbox' | null;
|
|
143
|
+
has_credentials: boolean;
|
|
144
|
+
block_disposable: boolean;
|
|
145
|
+
block_suppressed: boolean;
|
|
146
|
+
block_undeliverable: boolean;
|
|
147
|
+
block_role: boolean;
|
|
148
|
+
gate_sign_up: boolean;
|
|
149
|
+
updated_at: number | null;
|
|
150
|
+
}
|
|
151
|
+
export interface EmailSuppression {
|
|
152
|
+
object: 'email_suppression';
|
|
153
|
+
id: string;
|
|
154
|
+
email: string;
|
|
155
|
+
reason: string;
|
|
156
|
+
source: string;
|
|
157
|
+
detail: string | null;
|
|
158
|
+
created_at: number;
|
|
159
|
+
}
|
|
160
|
+
/** Email risk (`POST /v1/fraud/email_risk`) and the suppression list. */
|
|
161
|
+
export declare function emailRiskResource(request: RequestFn): {
|
|
162
|
+
check(body: {
|
|
163
|
+
email: string;
|
|
164
|
+
ip?: string;
|
|
165
|
+
verify_mailbox?: boolean;
|
|
166
|
+
}): Promise<EmailRiskResult>;
|
|
167
|
+
settings(): Promise<EmailRiskSettings>;
|
|
168
|
+
updateSettings(body: {
|
|
169
|
+
mode?: "off" | "mx" | "provider";
|
|
170
|
+
provider?: "zerobounce" | "kickbox" | null;
|
|
171
|
+
/** Write-only: `{ apiKey, region? }` for your own account, or null to clear. */
|
|
172
|
+
credentials?: {
|
|
173
|
+
apiKey: string;
|
|
174
|
+
region?: "us" | "eu";
|
|
175
|
+
} | null;
|
|
176
|
+
block_disposable?: boolean;
|
|
177
|
+
block_suppressed?: boolean;
|
|
178
|
+
block_undeliverable?: boolean;
|
|
179
|
+
block_role?: boolean;
|
|
180
|
+
gate_sign_up?: boolean;
|
|
181
|
+
}): Promise<EmailRiskSettings>;
|
|
182
|
+
suppressions: {
|
|
183
|
+
list(query?: {
|
|
184
|
+
email?: string;
|
|
185
|
+
limit?: number;
|
|
186
|
+
after?: string;
|
|
187
|
+
}): Promise<ListPage<EmailSuppression>>;
|
|
188
|
+
add(body: {
|
|
189
|
+
email?: string;
|
|
190
|
+
emails?: string[];
|
|
191
|
+
reason?: "hard_bounce" | "complaint" | "unsubscribe" | "manual" | "invalid";
|
|
192
|
+
source?: string;
|
|
193
|
+
detail?: string;
|
|
194
|
+
}): Promise<ListPage<EmailSuppression>>;
|
|
195
|
+
remove(email: string): Promise<{
|
|
196
|
+
object: "email_suppression";
|
|
197
|
+
email: string;
|
|
198
|
+
deleted: true;
|
|
199
|
+
}>;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
export interface AuthenticatorPolicy {
|
|
203
|
+
object: 'authenticator_policy';
|
|
204
|
+
id: string;
|
|
205
|
+
name: string;
|
|
206
|
+
group: string;
|
|
207
|
+
enabled: boolean;
|
|
208
|
+
required_factors: Array<'totp' | 'sms' | 'passkey' | 'push'>;
|
|
209
|
+
grace_until: number | null;
|
|
210
|
+
passkey: {
|
|
211
|
+
requireUserVerification?: boolean;
|
|
212
|
+
attestation?: 'none' | 'indirect' | 'direct' | null;
|
|
213
|
+
attachment?: 'any' | 'platform' | 'cross-platform' | null;
|
|
214
|
+
allowlist?: string[];
|
|
215
|
+
blocklist?: string[];
|
|
216
|
+
};
|
|
217
|
+
created_at: number;
|
|
218
|
+
updated_at: number;
|
|
219
|
+
}
|
|
220
|
+
export type AuthenticatorPolicyBody = Partial<Pick<AuthenticatorPolicy, 'name' | 'group' | 'enabled' | 'required_factors' | 'grace_until' | 'passkey'>>;
|
|
221
|
+
/** Group-targeted authenticator policies: required factors with an enrolment grace window and passkey profiles. */
|
|
222
|
+
export declare function authenticatorPoliciesResource(request: RequestFn): {
|
|
223
|
+
list(): Promise<ListPage<AuthenticatorPolicy>>;
|
|
224
|
+
get(id: string): Promise<AuthenticatorPolicy>;
|
|
225
|
+
create(body: AuthenticatorPolicyBody & {
|
|
226
|
+
name: string;
|
|
227
|
+
group: string;
|
|
228
|
+
}): Promise<AuthenticatorPolicy>;
|
|
229
|
+
update(id: string, body: AuthenticatorPolicyBody): Promise<AuthenticatorPolicy>;
|
|
230
|
+
delete(id: string): Promise<{
|
|
231
|
+
object: "authenticator_policy";
|
|
232
|
+
id: string;
|
|
233
|
+
deleted: true;
|
|
234
|
+
}>;
|
|
235
|
+
/** The combined rules that apply to one user through their groups. */
|
|
236
|
+
effective(userId: string): Promise<{
|
|
237
|
+
object: "effective_authenticator_rules";
|
|
238
|
+
user_id: string;
|
|
239
|
+
required_factors: string[];
|
|
240
|
+
in_grace: boolean;
|
|
241
|
+
passkey: Record<string, unknown>;
|
|
242
|
+
matched_policies: string[];
|
|
243
|
+
}>;
|
|
244
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.riskResource = riskResource;
|
|
4
|
+
exports.temporaryAccessResource = temporaryAccessResource;
|
|
5
|
+
exports.emailRiskResource = emailRiskResource;
|
|
6
|
+
exports.authenticatorPoliciesResource = authenticatorPoliciesResource;
|
|
7
|
+
const request_1 = require("./request");
|
|
8
|
+
/** Risky-user lifecycle, one-action account containment and risky-factor quarantine. */
|
|
9
|
+
function riskResource(request) {
|
|
10
|
+
return {
|
|
11
|
+
riskyUsers: {
|
|
12
|
+
list(query = {}) {
|
|
13
|
+
return request({ method: 'GET', path: '/v1/risky_users', query });
|
|
14
|
+
},
|
|
15
|
+
get(userId) {
|
|
16
|
+
return request({ method: 'GET', path: `/v1/risky_users/${(0, request_1.enc)(userId)}` });
|
|
17
|
+
},
|
|
18
|
+
dismiss(userId) {
|
|
19
|
+
return request({ method: 'POST', path: `/v1/risky_users/${(0, request_1.enc)(userId)}/dismiss`, body: {} });
|
|
20
|
+
},
|
|
21
|
+
confirm(userId) {
|
|
22
|
+
return request({ method: 'POST', path: `/v1/risky_users/${(0, request_1.enc)(userId)}/confirm`, body: {} });
|
|
23
|
+
},
|
|
24
|
+
remediate(userId) {
|
|
25
|
+
return request({ method: 'POST', path: `/v1/risky_users/${(0, request_1.enc)(userId)}/remediate`, body: {} });
|
|
26
|
+
},
|
|
27
|
+
forcePasswordChange(userId) {
|
|
28
|
+
return request({ method: 'POST', path: `/v1/risky_users/${(0, request_1.enc)(userId)}/force_password_change`, body: {} });
|
|
29
|
+
},
|
|
30
|
+
forceReauth(userId) {
|
|
31
|
+
return request({ method: 'POST', path: `/v1/risky_users/${(0, request_1.enc)(userId)}/force_reauth`, body: {} });
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
containment: {
|
|
35
|
+
/** Contain an account: sign-in disabled, password invalidated, sessions, tokens, keys and devices revoked. */
|
|
36
|
+
contain(userId, body = {}) {
|
|
37
|
+
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(userId)}/contain`, body });
|
|
38
|
+
},
|
|
39
|
+
release(userId) {
|
|
40
|
+
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(userId)}/release`, body: {} });
|
|
41
|
+
},
|
|
42
|
+
list(query = {}) {
|
|
43
|
+
return request({ method: 'GET', path: `/v1/containments${query.user_id ? `?user_id=${(0, request_1.enc)(query.user_id)}` : ''}` });
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
factorQuarantines: {
|
|
47
|
+
list(query = {}) {
|
|
48
|
+
return request({ method: 'GET', path: '/v1/mfa_factor_quarantines', query });
|
|
49
|
+
},
|
|
50
|
+
release(id) {
|
|
51
|
+
return request({ method: 'POST', path: `/v1/mfa_factor_quarantines/${(0, request_1.enc)(id)}/release`, body: {} });
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Temporary access passes (`users.createTemporaryAccess`). */
|
|
57
|
+
function temporaryAccessResource(request) {
|
|
58
|
+
return {
|
|
59
|
+
/** Issue a pass. The `code` is in this response only. */
|
|
60
|
+
create(userId, body = {}) {
|
|
61
|
+
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(userId)}/temporary_access`, body });
|
|
62
|
+
},
|
|
63
|
+
list(userId) {
|
|
64
|
+
return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(userId)}/temporary_access` });
|
|
65
|
+
},
|
|
66
|
+
revoke(userId, passId) {
|
|
67
|
+
return request({ method: 'DELETE', path: `/v1/users/${(0, request_1.enc)(userId)}/temporary_access/${(0, request_1.enc)(passId)}` });
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Email risk (`POST /v1/fraud/email_risk`) and the suppression list. */
|
|
72
|
+
function emailRiskResource(request) {
|
|
73
|
+
return {
|
|
74
|
+
check(body) {
|
|
75
|
+
return request({ method: 'POST', path: '/v1/fraud/email_risk', body });
|
|
76
|
+
},
|
|
77
|
+
settings() {
|
|
78
|
+
return request({ method: 'GET', path: '/v1/fraud/email_risk/settings' });
|
|
79
|
+
},
|
|
80
|
+
updateSettings(body) {
|
|
81
|
+
return request({ method: 'PUT', path: '/v1/fraud/email_risk/settings', body });
|
|
82
|
+
},
|
|
83
|
+
suppressions: {
|
|
84
|
+
list(query = {}) {
|
|
85
|
+
return request({ method: 'GET', path: '/v1/messaging/suppressions', query });
|
|
86
|
+
},
|
|
87
|
+
add(body) {
|
|
88
|
+
return request({ method: 'POST', path: '/v1/messaging/suppressions', body });
|
|
89
|
+
},
|
|
90
|
+
remove(email) {
|
|
91
|
+
return request({ method: 'DELETE', path: `/v1/messaging/suppressions/${(0, request_1.enc)(email)}` });
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** Group-targeted authenticator policies: required factors with an enrolment grace window and passkey profiles. */
|
|
97
|
+
function authenticatorPoliciesResource(request) {
|
|
98
|
+
return {
|
|
99
|
+
list() {
|
|
100
|
+
return request({ method: 'GET', path: '/v1/authenticator_policies' });
|
|
101
|
+
},
|
|
102
|
+
get(id) {
|
|
103
|
+
return request({ method: 'GET', path: `/v1/authenticator_policies/${(0, request_1.enc)(id)}` });
|
|
104
|
+
},
|
|
105
|
+
create(body) {
|
|
106
|
+
return request({ method: 'POST', path: '/v1/authenticator_policies', body });
|
|
107
|
+
},
|
|
108
|
+
update(id, body) {
|
|
109
|
+
return request({ method: 'PATCH', path: `/v1/authenticator_policies/${(0, request_1.enc)(id)}`, body });
|
|
110
|
+
},
|
|
111
|
+
delete(id) {
|
|
112
|
+
return request({ method: 'DELETE', path: `/v1/authenticator_policies/${(0, request_1.enc)(id)}` });
|
|
113
|
+
},
|
|
114
|
+
/** The combined rules that apply to one user through their groups. */
|
|
115
|
+
effective(userId) {
|
|
116
|
+
return request({ method: 'GET', path: `/v1/authenticator_policies/effective/${(0, request_1.enc)(userId)}` });
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=risk-containment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-containment.js","sourceRoot":"","sources":["../../src/client/risk-containment.ts"],"names":[],"mappings":"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"}
|