@atlasauth/backend 0.14.1 → 0.16.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/access-control.d.ts +53 -0
  3. package/dist/access-control.js +46 -0
  4. package/dist/access-control.js.map +1 -0
  5. package/dist/algs.d.ts +7 -0
  6. package/dist/algs.js +11 -0
  7. package/dist/algs.js.map +1 -0
  8. package/dist/botid.d.ts +70 -0
  9. package/dist/botid.js +88 -0
  10. package/dist/botid.js.map +1 -0
  11. package/dist/client/action-gallery.d.ts +215 -0
  12. package/dist/client/action-gallery.js +66 -0
  13. package/dist/client/action-gallery.js.map +1 -0
  14. package/dist/client/actions.d.ts +21 -0
  15. package/dist/client/actions.js.map +1 -1
  16. package/dist/client/api-keys.d.ts +49 -4
  17. package/dist/client/api-keys.js +6 -2
  18. package/dist/client/api-keys.js.map +1 -1
  19. package/dist/client/app-roles.d.ts +76 -0
  20. package/dist/client/app-roles.js +39 -0
  21. package/dist/client/app-roles.js.map +1 -0
  22. package/dist/client/attack-protection.d.ts +33 -1
  23. package/dist/client/attack-protection.js.map +1 -1
  24. package/dist/client/billing-plans.d.ts +93 -0
  25. package/dist/client/billing-plans.js +31 -0
  26. package/dist/client/billing-plans.js.map +1 -1
  27. package/dist/client/custom-oauth-providers.d.ts +243 -0
  28. package/dist/client/custom-oauth-providers.js +60 -0
  29. package/dist/client/custom-oauth-providers.js.map +1 -0
  30. package/dist/client/email-templates.d.ts +1 -1
  31. package/dist/client/email-templates.js.map +1 -1
  32. package/dist/client/index.d.ts +157 -3
  33. package/dist/client/index.js +11 -0
  34. package/dist/client/index.js.map +1 -1
  35. package/dist/client/instance-security.d.ts +104 -0
  36. package/dist/client/instance-security.js +28 -0
  37. package/dist/client/instance-security.js.map +1 -1
  38. package/dist/client/notifications.d.ts +1 -1
  39. package/dist/client/notifications.js.map +1 -1
  40. package/dist/client/oauth-clients.d.ts +84 -2
  41. package/dist/client/oauth-clients.js +13 -0
  42. package/dist/client/oauth-clients.js.map +1 -1
  43. package/dist/client/referrals.d.ts +1 -1
  44. package/dist/client/resource-servers.d.ts +34 -5
  45. package/dist/client/resource-servers.js.map +1 -1
  46. package/dist/client/risk-based-mfa.d.ts +3 -0
  47. package/dist/client/risk-based-mfa.js.map +1 -1
  48. package/dist/client/scim-tokens.d.ts +18 -0
  49. package/dist/client/scim-tokens.js +4 -0
  50. package/dist/client/scim-tokens.js.map +1 -1
  51. package/dist/client/sessions.d.ts +16 -0
  52. package/dist/client/sessions.js +15 -0
  53. package/dist/client/sessions.js.map +1 -1
  54. package/dist/client/sso-connections.d.ts +105 -0
  55. package/dist/client/sso-connections.js +29 -0
  56. package/dist/client/sso-connections.js.map +1 -1
  57. package/dist/client/users.d.ts +40 -4
  58. package/dist/client/users.js +8 -3
  59. package/dist/client/users.js.map +1 -1
  60. package/dist/index.d.ts +4 -0
  61. package/dist/index.js +18 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/logout-token.d.ts +1 -1
  64. package/dist/logout-token.js +3 -2
  65. package/dist/logout-token.js.map +1 -1
  66. package/dist/oauth-resource.d.ts +225 -0
  67. package/dist/oauth-resource.js +469 -0
  68. package/dist/oauth-resource.js.map +1 -0
  69. package/dist/oidc.d.ts +1 -1
  70. package/dist/oidc.js +5 -3
  71. package/dist/oidc.js.map +1 -1
  72. package/dist/referral-test-calls.d.ts +7 -7
  73. package/dist/referral-test-calls.js +2 -2
  74. package/dist/testing.d.ts +6 -4
  75. package/dist/testing.js +7 -6
  76. package/dist/testing.js.map +1 -1
  77. package/dist/verify.d.ts +11 -0
  78. package/dist/verify.js +15 -1
  79. package/dist/verify.js.map +1 -1
  80. package/package.json +3 -3
@@ -36,6 +36,7 @@ const sign_in_tokens_1 = require("./sign-in-tokens");
36
36
  const audit_logs_1 = require("./audit-logs");
37
37
  const jwt_templates_1 = require("./jwt-templates");
38
38
  const api_keys_1 = require("./api-keys");
39
+ const app_roles_1 = require("./app-roles");
39
40
  const machines_1 = require("./machines");
40
41
  const oauth_providers_1 = require("./oauth-providers");
41
42
  const sso_onboarding_1 = require("./sso-onboarding");
@@ -52,6 +53,7 @@ const email_templates_1 = require("./email-templates");
52
53
  const sms_templates_1 = require("./sms-templates");
53
54
  const localizations_1 = require("./localizations");
54
55
  const actions_1 = require("./actions");
56
+ const action_gallery_1 = require("./action-gallery");
55
57
  const billing_plans_1 = require("./billing-plans");
56
58
  const messaging_1 = require("./messaging");
57
59
  const import_export_1 = require("./import-export");
@@ -71,6 +73,7 @@ const organization_settings_schema_1 = require("./organization-settings-schema")
71
73
  const email_addresses_1 = require("./email-addresses");
72
74
  const openfga_1 = require("./openfga");
73
75
  const connectors_1 = require("./connectors");
76
+ const custom_oauth_providers_1 = require("./custom-oauth-providers");
74
77
  const notifications_1 = require("./notifications");
75
78
  const audit_events_1 = require("./audit-events");
76
79
  const activity_1 = require("./activity");
@@ -124,6 +127,8 @@ function buildNamespaces(request) {
124
127
  auditLogs: (0, audit_logs_1.auditLogsResource)(request),
125
128
  jwtTemplates: (0, jwt_templates_1.jwtTemplatesResource)(request),
126
129
  apiKeys: (0, api_keys_1.apiKeysResource)(request),
130
+ // App-level (instance-wide) user roles and permissions.
131
+ appRoles: (0, app_roles_1.appRolesResource)(request),
127
132
  // §9.3 / §P1-7 named machine identities + device registry + enrolment tokens.
128
133
  machines: (0, machines_1.machinesResource)(request),
129
134
  oauthProviders: (0, oauth_providers_1.oauthProvidersResource)(request),
@@ -141,6 +146,8 @@ function buildNamespaces(request) {
141
146
  smsTemplates: (0, sms_templates_1.smsTemplatesResource)(request),
142
147
  localizations: (0, localizations_1.localizationsResource)(request),
143
148
  actions: (0, actions_1.actionsResource)(request),
149
+ actionGallery: (0, action_gallery_1.actionGalleryResource)(request),
150
+ actionTemplates: (0, action_gallery_1.actionTemplatesResource)(request),
144
151
  billing: (0, billing_plans_1.billingResource)(request),
145
152
  messaging: (0, messaging_1.messagingResource)(request),
146
153
  importExport: (0, import_export_1.importExportResource)(request),
@@ -166,6 +173,7 @@ function buildNamespaces(request) {
166
173
  // OpenFGA-wire ReBAC stores, models and tuples.
167
174
  openfga: (0, openfga_1.openfgaResource)(request),
168
175
  connectors: (0, connectors_1.connectorsResource)(request),
176
+ customOAuthProviders: (0, custom_oauth_providers_1.customOAuthProvidersResource)(request),
169
177
  notifications: (0, notifications_1.notificationsResource)(request),
170
178
  // The tenant's own custom audit events (distinct from Atlas's auditLogs).
171
179
  auditEvents: (0, audit_events_1.auditEventsResource)(request),
@@ -203,6 +211,7 @@ __exportStar(require("./users"), exports);
203
211
  __exportStar(require("./sessions"), exports);
204
212
  __exportStar(require("./organizations"), exports);
205
213
  __exportStar(require("./roles"), exports);
214
+ __exportStar(require("./app-roles"), exports);
206
215
  __exportStar(require("./oauth-clients"), exports);
207
216
  __exportStar(require("./resource-servers"), exports);
208
217
  __exportStar(require("./sso-connections"), exports);
@@ -234,6 +243,7 @@ __exportStar(require("./email-templates"), exports);
234
243
  __exportStar(require("./sms-templates"), exports);
235
244
  __exportStar(require("./localizations"), exports);
236
245
  __exportStar(require("./actions"), exports);
246
+ __exportStar(require("./action-gallery"), exports);
237
247
  __exportStar(require("./billing-plans"), exports);
238
248
  __exportStar(require("./messaging"), exports);
239
249
  __exportStar(require("./import-export"), exports);
@@ -253,6 +263,7 @@ __exportStar(require("./organization-settings-schema"), exports);
253
263
  __exportStar(require("./email-addresses"), exports);
254
264
  __exportStar(require("./openfga"), exports);
255
265
  __exportStar(require("./connectors"), exports);
266
+ __exportStar(require("./custom-oauth-providers"), exports);
256
267
  __exportStar(require("./notifications"), exports);
257
268
  __exportStar(require("./audit-events"), exports);
258
269
  __exportStar(require("./activity"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -63,12 +63,103 @@ export interface CreateProxySecretBody {
63
63
  export interface InstanceSecurityResult extends InstanceSecurity {
64
64
  warning?: string;
65
65
  }
66
+ /** One published instance signing key (`GET /v1/instance/signing_keys`). */
67
+ export interface SigningKey {
68
+ object: 'signing_key';
69
+ kid: string;
70
+ alg: 'RS256' | 'ES256' | string;
71
+ status: 'current' | 'previous';
72
+ /** `main` signs every token; `secondary` signs access tokens for APIs set to the other algorithm. */
73
+ role: 'main' | 'secondary';
74
+ /** When a previous key leaves the JWKS (epoch ms); null for a current key. */
75
+ retires_at: number | null;
76
+ /** On the current main key: `local`, or the KMS that holds its private half. */
77
+ provider?: 'local' | SigningKeyProviderKind;
78
+ }
79
+ /** The cloud key management services a signing key can live in. */
80
+ export type SigningKeyProviderKind = 'aws_kms' | 'gcp_kms' | 'azure_key_vault';
81
+ /** The instance's key management service (`GET /v1/instance/signing_key_provider`). Never carries credentials. */
82
+ export interface SigningKeyProviderSettings {
83
+ object: 'signing_key_provider';
84
+ id?: string;
85
+ provider: 'local' | SigningKeyProviderKind;
86
+ /** The non-secret settings (region, key / key ring / vault, algorithm). Null for `local`. */
87
+ config: Record<string, unknown> | null;
88
+ /** True when the current main key is in this KMS. */
89
+ active: boolean;
90
+ /** The KMS key version tokens are signed with (ARN, resource name or key id). */
91
+ key_version: string | null;
92
+ last_verified_at?: number | null;
93
+ created_at?: number;
94
+ updated_at?: number;
95
+ }
96
+ /**
97
+ * Switch signing to a key in your own KMS. Config and credentials per provider:
98
+ * - `aws_kms`: config `{ region, key_id?, alg? }`, credentials `{ access_key_id, secret_access_key, session_token? }`
99
+ * - `gcp_kms`: config `{ crypto_key, key_version? }`, credentials `{ service_account_json }` (the key file)
100
+ * - `azure_key_vault`: config `{ vault_url, key_name, key_version?, alg? }`, credentials `{ tenant_id, client_id, client_secret }`
101
+ * Without a key id / version Atlas creates a new key version in the KMS. Add
102
+ * `config.secondary` for a second key of the other algorithm (aws: `{ alg, key_id? }`;
103
+ * gcp: `{ crypto_key, key_version? }`; azure: `{ key_name, key_version?, alg }`).
104
+ */
105
+ export interface SetSigningKeyProviderBody {
106
+ provider: SigningKeyProviderKind;
107
+ config: Record<string, unknown>;
108
+ credentials: Record<string, unknown>;
109
+ /** How long the previous key stays published (default 86400, at most 2592000). */
110
+ grace_period_seconds?: number;
111
+ /** Publish only the new key now. */
112
+ emergency?: boolean;
113
+ }
114
+ export interface RotateSigningKeyBody {
115
+ /** How long the previous key stays published (default 86400, at most 2592000). */
116
+ grace_period_seconds?: number;
117
+ /** Publish only the new key now (suspected compromise). */
118
+ emergency?: boolean;
119
+ /** The new main key's algorithm; omit to keep the current one. */
120
+ alg?: 'RS256' | 'ES256';
121
+ /** With keys in a key management service: rotate only the `main` or the `secondary` key (default both). */
122
+ key?: 'main' | 'secondary';
123
+ }
124
+ export interface SigningKeyRotation {
125
+ object: 'signing_key_rotation';
126
+ kid: string;
127
+ alg: 'RS256' | 'ES256';
128
+ previous_kid: string | null;
129
+ previous_retires_at: number | null;
130
+ emergency: boolean;
131
+ /** Where the key lives (`local` or the key management service). */
132
+ provider?: 'local' | SigningKeyProviderKind;
133
+ /** With keys in a key management service: the current second-algorithm key, if configured. */
134
+ secondary_kid?: string | null;
135
+ }
66
136
  export declare function instanceSecurityResource(request: RequestFn): {
137
+ /** The published token-signing keys, newest first. */
138
+ listSigningKeys(): Promise<{
139
+ object: "list";
140
+ data: SigningKey[];
141
+ }>;
142
+ /** Rotate the signing key (optionally switching between RS256 and ES256). */
143
+ rotateSigningKey(body?: RotateSigningKeyBody): Promise<SigningKeyRotation>;
144
+ /** The key management service the signing key lives in (`local` when none). */
145
+ getSigningKeyProvider(): Promise<SigningKeyProviderSettings>;
146
+ /** Sign every token with a key in your own AWS KMS, Google Cloud KMS or Azure Key Vault. */
147
+ setSigningKeyProvider(body: SetSigningKeyProviderBody): Promise<SigningKeyProviderSettings & {
148
+ rotation: SigningKeyRotation;
149
+ }>;
150
+ /** Stop using the KMS: rotate back to a key Atlas holds and forget the credentials. */
151
+ removeSigningKeyProvider(body?: RotateSigningKeyBody): Promise<{
152
+ object: "signing_key_provider";
153
+ provider: "local";
154
+ deleted: true;
155
+ rotation: SigningKeyRotation | null;
156
+ }>;
67
157
  get(): Promise<InstanceSecurity>;
68
158
  update(body: UpdateInstanceSecurityBody): Promise<InstanceSecurityResult>;
69
159
  /** Store the captcha provider secret. Refused while the provider is `none`. */
70
160
  setCaptchaSecret(body: {
71
161
  secret: string;
162
+ provider?: string;
72
163
  }): Promise<{
73
164
  object: "captcha_secret";
74
165
  provider: string;
@@ -79,6 +170,19 @@ export declare function instanceSecurityResource(request: RequestFn): {
79
170
  provider: string;
80
171
  deleted: true;
81
172
  }>;
173
+ /**
174
+ * Store (write-only, encrypted) the wallet RPC endpoint for an EIP-155 chain
175
+ * — used by wallet token gating and the Sign in with Ethereum ENS lookup. An
176
+ * empty url removes it. The URL is never returned.
177
+ */
178
+ setWalletRpcSecret(body: {
179
+ chain_id: number;
180
+ url: string;
181
+ }): Promise<{
182
+ object: "wallet_rpc_secret";
183
+ chain_id: number;
184
+ set: boolean;
185
+ }>;
82
186
  /** Store the Kerberos/IWA trusted-proxy secret. Refused while the strategy is off. */
83
187
  setKerberosSecret(body: {
84
188
  secret: string;
@@ -4,6 +4,26 @@ exports.instanceSecurityResource = instanceSecurityResource;
4
4
  const request_1 = require("./request");
5
5
  function instanceSecurityResource(request) {
6
6
  return {
7
+ /** The published token-signing keys, newest first. */
8
+ listSigningKeys() {
9
+ return request({ method: 'GET', path: '/v1/instance/signing_keys' });
10
+ },
11
+ /** Rotate the signing key (optionally switching between RS256 and ES256). */
12
+ rotateSigningKey(body = {}) {
13
+ return request({ method: 'POST', path: '/v1/instance/signing_keys/rotate', body });
14
+ },
15
+ /** The key management service the signing key lives in (`local` when none). */
16
+ getSigningKeyProvider() {
17
+ return request({ method: 'GET', path: '/v1/instance/signing_key_provider' });
18
+ },
19
+ /** Sign every token with a key in your own AWS KMS, Google Cloud KMS or Azure Key Vault. */
20
+ setSigningKeyProvider(body) {
21
+ return request({ method: 'PUT', path: '/v1/instance/signing_key_provider', body });
22
+ },
23
+ /** Stop using the KMS: rotate back to a key Atlas holds and forget the credentials. */
24
+ removeSigningKeyProvider(body = {}) {
25
+ return request({ method: 'DELETE', path: '/v1/instance/signing_key_provider', body });
26
+ },
7
27
  get() {
8
28
  return request({ method: 'GET', path: '/v1/instance/security' });
9
29
  },
@@ -17,6 +37,14 @@ function instanceSecurityResource(request) {
17
37
  deleteCaptchaSecret() {
18
38
  return request({ method: 'DELETE', path: '/v1/instance/captcha_secret' });
19
39
  },
40
+ /**
41
+ * Store (write-only, encrypted) the wallet RPC endpoint for an EIP-155 chain
42
+ * — used by wallet token gating and the Sign in with Ethereum ENS lookup. An
43
+ * empty url removes it. The URL is never returned.
44
+ */
45
+ setWalletRpcSecret(body) {
46
+ return request({ method: 'PUT', path: '/v1/instance/wallet_rpc_secret', body });
47
+ },
20
48
  /** Store the Kerberos/IWA trusted-proxy secret. Refused while the strategy is off. */
21
49
  setKerberosSecret(body) {
22
50
  return request({ method: 'PUT', path: '/v1/instance/kerberos_secret', body });
@@ -1 +1 @@
1
- {"version":3,"file":"instance-security.js","sourceRoot":"","sources":["../../src/client/instance-security.ts"],"names":[],"mappings":";;AA0EA,4DA6DC;AAvID,uCAAgD;AA0EhD,SAAgB,wBAAwB,CAAC,OAAkB;IACzD,OAAO;QACL,GAAG;YACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAgC;YACrC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,+EAA+E;QAC/E,gBAAgB,CACd,IAAwB;YAExB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,sFAAsF;QACtF,iBAAiB,CAAC,IAAwB;YACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,wEAAwE;QACxE,cAAc;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,iHAAiH;QACjH,iBAAiB,CAAC,OAA8B,EAAE;YAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,qEAAqE;QACrE,iBAAiB;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED;oEAC4D;QAC5D,mBAAmB,CACjB,YAAoB,EACpB,IAA+B;YAE/B,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,YAAY,CAAC,gBAAgB;gBACxE,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,sBAAsB,CACpB,YAAoB;YAEpB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,YAAY,CAAC,gBAAgB;aACzE,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"instance-security.js","sourceRoot":"","sources":["../../src/client/instance-security.ts"],"names":[],"mappings":";;AAsJA,4DAgGC;AAtPD,uCAAgD;AAsJhD,SAAgB,wBAAwB,CAAC,OAAkB;IACzD,OAAO;QACL,sDAAsD;QACtD,eAAe;YACb,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,6EAA6E;QAC7E,gBAAgB,CAAC,OAA6B,EAAE;YAC9C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,+EAA+E;QAC/E,qBAAqB;YACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,4FAA4F;QAC5F,qBAAqB,CACnB,IAA+B;YAE/B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,uFAAuF;QACvF,wBAAwB,CACtB,OAA6B,EAAE;YAE/B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,GAAG;YACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAgC;YACrC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,+EAA+E;QAC/E,gBAAgB,CACd,IAA2C;YAE3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD;;;;WAIG;QACH,kBAAkB,CAAC,IAGlB;YACC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,sFAAsF;QACtF,iBAAiB,CAAC,IAAwB;YACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,wEAAwE;QACxE,cAAc;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,iHAAiH;QACjH,iBAAiB,CAAC,OAA8B,EAAE;YAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,qEAAqE;QACrE,iBAAiB;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED;oEAC4D;QAC5D,mBAAmB,CACjB,YAAoB,EACpB,IAA+B;YAE/B,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,YAAY,CAAC,gBAAgB;gBACxE,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,sBAAsB,CACpB,YAAoB;YAEpB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,YAAY,CAAC,gBAAgB;aACzE,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type RequestFn } from './request';
2
2
  /** Built-in notification templates `send` falls back to when no tenant template has the name. */
3
- export type BuiltInNotificationTemplate = 'new_device' | 'unattended_access' | 'password_changed' | 'mfa_changed';
3
+ export type BuiltInNotificationTemplate = 'new_device' | 'unattended_access' | 'password_changed' | 'mfa_changed' | 'email_changed';
4
4
  export interface SendNotificationBody {
5
5
  /** The end-user to notify. */
6
6
  user_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/client/notifications.ts"],"names":[],"mappings":";;AAiEA,sDAqDC;AAtHD,uCAAgD;AAiEhD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,2FAA2F;QAC3F,IAAI,CAAC,IAA0B,EAAE,cAAuB;YACtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,EAAE;YACV,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,4CAA4C;YAC5C,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,CAAC,GAAW,EAAE,IAAuB;gBACzC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,yDAAyD;YACzD,MAAM,CACJ,GAAW;gBAEX,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;QACD,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,iCAAiC;YACjC,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,GAAG,CAAC,IAAY;gBACd,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,IAAY,EAAE,IAAoC;gBACvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,IAAY;gBAEZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/client/notifications.ts"],"names":[],"mappings":";;AAkEA,sDAqDC;AAvHD,uCAAgD;AAkEhD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,2FAA2F;QAC3F,IAAI,CAAC,IAA0B,EAAE,cAAuB;YACtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,EAAE;YACV,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,4CAA4C;YAC5C,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,CAAC,GAAW,EAAE,IAAuB;gBACzC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,yDAAyD;YACzD,MAAM,CACJ,GAAW;gBAEX,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;QACD,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,iCAAiC;YACjC,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,GAAG,CAAC,IAAY;gBACd,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,IAAY,EAAE,IAAoC;gBACvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,IAAY;gBAEZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -34,9 +34,73 @@ export interface OAuthClient {
34
34
  * with no "Sign out?" page. First-party clients only.
35
35
  */
36
36
  skip_logout_confirmation?: boolean;
37
+ /** Refused at every OAuth endpoint while true (kept, not deleted). */
38
+ disabled?: boolean;
39
+ /** PKCE required even though the client is confidential. */
40
+ require_pkce?: boolean;
41
+ /** OIDC Core §8: `pairwise` clients see a per-sector `sub` instead of the user id. */
42
+ subject_type?: 'public' | 'pairwise';
43
+ sector_identifier_uri?: string | null;
44
+ /** When the current secret stops authenticating (epoch ms); null = never. */
45
+ client_secret_expires_at?: number | null;
46
+ /** `jwt` or `opaque` access tokens for this client; null = inherited from the API / instance. */
47
+ access_token_format?: AccessTokenFormat | null;
48
+ /** This client's token lifetime overrides (seconds); a null field is inherited. */
49
+ token_lifetimes?: OAuthTokenLifetimes;
37
50
  created_at: number;
38
51
  updated_at: number;
39
52
  }
53
+ /** Signed JWT access tokens, or opaque references validated by introspection. */
54
+ export type AccessTokenFormat = 'jwt' | 'opaque';
55
+ /**
56
+ * Token lifetimes in seconds. A field left out (or null) inherits the API's,
57
+ * then the instance's, then Atlas's default. Bounds: access / id token 60–86400;
58
+ * refresh token 300–31536000 (idle ≤ absolute); authorization code 10–600;
59
+ * device code 60–1800.
60
+ */
61
+ export interface OAuthTokenLifetimes {
62
+ access_token_ttl_seconds?: number | null;
63
+ id_token_ttl_seconds?: number | null;
64
+ refresh_token_absolute_ttl_seconds?: number | null;
65
+ refresh_token_idle_ttl_seconds?: number | null;
66
+ authorization_code_ttl_seconds?: number | null;
67
+ device_code_ttl_seconds?: number | null;
68
+ }
69
+ /** Access-token format and lifetimes, accepted on create and update. */
70
+ export interface OAuthClientTokenFields {
71
+ /** `jwt` or `opaque`; null inherits. */
72
+ access_token_format?: AccessTokenFormat | null;
73
+ /** Replaces the overrides; null clears them all. */
74
+ token_lifetimes?: OAuthTokenLifetimes | null;
75
+ }
76
+ /** OIDC Core §8 subject settings, accepted on create and update. */
77
+ export interface OAuthClientSubjectFields {
78
+ /** `public` (default): the user id. `pairwise`: a per-sector identifier. */
79
+ subject_type?: 'public' | 'pairwise';
80
+ /** https URL serving a JSON array of every redirect URI; its host is the sector. `null` clears it. */
81
+ sector_identifier_uri?: string | null;
82
+ }
83
+ /** An RFC 7591 §3 initial access token for dynamic client registration. */
84
+ export interface OAuthInitialAccessToken {
85
+ object: 'oauth_initial_access_token';
86
+ id: string;
87
+ token_prefix: string;
88
+ description: string | null;
89
+ status: 'active' | 'expired' | 'used_up' | 'revoked';
90
+ max_uses: number | null;
91
+ use_count: number;
92
+ expires_at: number | null;
93
+ revoked_at: number | null;
94
+ last_used_at: number | null;
95
+ created_at: number;
96
+ }
97
+ export interface CreateInitialAccessTokenBody {
98
+ description?: string;
99
+ /** Lifetime in seconds (60 – 31536000); omit for no expiry. */
100
+ expires_in_seconds?: number;
101
+ /** Registrations allowed (1 – 1000000); omit for unlimited. */
102
+ max_uses?: number;
103
+ }
40
104
  /**
41
105
  * OIDC logout registration (RP-Initiated, Back-Channel and Front-Channel
42
106
  * Logout), accepted on create and update. On update, `null` clears a URI and
@@ -62,6 +126,8 @@ export interface RotateOAuthClientSecretBody {
62
126
  * hours); 0 revokes it now (after a leak); at most 604800 (7 days).
63
127
  */
64
128
  overlap_seconds?: number;
129
+ /** How long the NEW secret authenticates, in seconds; omit for no expiry. */
130
+ secret_expires_in_seconds?: number;
65
131
  }
66
132
  /** The rotate response: the new secret (shown once) and when the old one stops working. */
67
133
  export interface OAuthClientSecretRotation extends OAuthClientWithSecret {
@@ -81,7 +147,7 @@ export interface ClientGrant {
81
147
  created_at: number;
82
148
  updated_at: number;
83
149
  }
84
- export interface CreateOAuthClientBody extends OAuthClientLogoutFields {
150
+ export interface CreateOAuthClientBody extends OAuthClientLogoutFields, OAuthClientSubjectFields, OAuthClientTokenFields {
85
151
  name: string;
86
152
  redirect_uris: string[];
87
153
  allowed_scopes?: string[];
@@ -89,14 +155,20 @@ export interface CreateOAuthClientBody extends OAuthClientLogoutFields {
89
155
  token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
90
156
  logo_url?: string;
91
157
  first_party?: boolean;
158
+ /** How long the issued secret authenticates, in seconds; omit for no expiry. */
159
+ secret_expires_in_seconds?: number;
92
160
  }
93
- export interface UpdateOAuthClientBody extends OAuthClientLogoutFields {
161
+ export interface UpdateOAuthClientBody extends OAuthClientLogoutFields, OAuthClientSubjectFields, OAuthClientTokenFields {
94
162
  name?: string;
95
163
  redirect_uris?: string[];
96
164
  allowed_scopes?: string[];
97
165
  token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
98
166
  logo_url?: string | null;
99
167
  first_party?: boolean;
168
+ /** Refuse every OAuth flow for this client without deleting it. */
169
+ disabled?: boolean;
170
+ /** Require PKCE for this confidential client too. */
171
+ require_pkce?: boolean;
100
172
  }
101
173
  /** One client in a migration import. Idempotent per `client_id`. */
102
174
  export interface ImportOAuthClientEntry {
@@ -197,6 +269,16 @@ export declare function oauthClientsResource(request: RequestFn): {
197
269
  listBackchannelDeliveries(id: string, query?: BackchannelDeliveriesQuery): Promise<BackchannelLogoutDeliveryPage>;
198
270
  /** Send a test back-channel logout now and return what the receiver answered. */
199
271
  testBackchannelLogout(id: string): Promise<BackchannelLogoutTest>;
272
+ /** RFC 7591 §3 initial access tokens for dynamic client registration. */
273
+ initialAccessTokens: {
274
+ list(): Promise<ListPage<OAuthInitialAccessToken>>;
275
+ /** The `token` is in this response only. */
276
+ create(body?: CreateInitialAccessTokenBody): Promise<OAuthInitialAccessToken & {
277
+ token: string;
278
+ note: string;
279
+ }>;
280
+ revoke(id: string): Promise<OAuthInitialAccessToken>;
281
+ };
200
282
  grants: {
201
283
  list(clientId: string): Promise<ListPage<ClientGrant>>;
202
284
  create(clientId: string, body: {
@@ -47,6 +47,19 @@ function oauthClientsResource(request) {
47
47
  testBackchannelLogout(id) {
48
48
  return request({ method: 'POST', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/backchannel_logout/test` });
49
49
  },
50
+ /** RFC 7591 §3 initial access tokens for dynamic client registration. */
51
+ initialAccessTokens: {
52
+ list() {
53
+ return request({ method: 'GET', path: '/v1/oauth_initial_access_tokens' });
54
+ },
55
+ /** The `token` is in this response only. */
56
+ create(body = {}) {
57
+ return request({ method: 'POST', path: '/v1/oauth_initial_access_tokens', body });
58
+ },
59
+ revoke(id) {
60
+ return request({ method: 'DELETE', path: `/v1/oauth_initial_access_tokens/${(0, request_1.enc)(id)}` });
61
+ },
62
+ },
50
63
  grants: {
51
64
  list(clientId) {
52
65
  return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/grants` });
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import type { UserReferralResult } from './users';
12
12
  *
13
13
  * `provider` is `webhook` (the Atlas referral protocol, which any platform can
14
14
  * implement; see {@link verifyReferralRequest}), `referally` (the built-in
15
- * Referally adapter: `endpoint_url` is your Referally base URL, plus
15
+ * Referalli adapter: `endpoint_url` is your Referalli base URL, plus
16
16
  * `connection_id`, `signing_secret` and optionally `tracking_token`) or
17
17
  * another built-in vendor adapter.
18
18
  * `signing_secret`, `api_key` and `inbound_secret` are write-only: reads
@@ -11,23 +11,52 @@ export interface ResourceServer {
11
11
  name: string;
12
12
  scopes: ResourceServerScope[];
13
13
  token_ttl_seconds: number;
14
- signing_alg: string;
14
+ /** RS256 (default) or ES256: the algorithm of this API's access tokens. */
15
+ signing_alg: 'RS256' | 'ES256' | string;
16
+ /** RFC 9728: Atlas serves protected-resource metadata for this API. */
17
+ publish_resource_metadata?: boolean;
18
+ /** `jwt` or `opaque` access tokens for this API; null = inherited from the client / instance. */
19
+ access_token_format?: 'jwt' | 'opaque' | null;
20
+ /** Refresh-token lifetimes for grants issued for this API (seconds); null = inherited. */
21
+ refresh_token_absolute_ttl_seconds?: number | null;
22
+ refresh_token_idle_ttl_seconds?: number | null;
23
+ /** client_ids of the confidential clients allowed to introspect this API's tokens. */
24
+ introspection_client_ids?: string[];
15
25
  created_at: number;
16
26
  updated_at: number;
17
27
  }
18
- export interface CreateResourceServerBody {
28
+ /** Token settings an API can carry (create and update). */
29
+ export interface ResourceServerTokenFields {
30
+ /** The access-token lifetime, 60–86400 seconds. */
31
+ token_ttl_seconds?: number;
32
+ /** `jwt` or `opaque`; null inherits. */
33
+ access_token_format?: 'jwt' | 'opaque' | null;
34
+ /** 300–31536000 seconds; null inherits. */
35
+ refresh_token_absolute_ttl_seconds?: number | null;
36
+ /** 300–31536000 seconds, at most the absolute lifetime; null inherits. */
37
+ refresh_token_idle_ttl_seconds?: number | null;
38
+ /** client_ids of confidential clients (e.g. this API's backend) that may introspect its tokens. */
39
+ introspection_client_ids?: string[];
40
+ }
41
+ export interface CreateResourceServerBody extends ResourceServerTokenFields {
19
42
  identifier: string;
20
43
  name: string;
21
44
  /** Each scope is a bare string or `{ value, description? }`. */
22
45
  scopes?: Array<string | ResourceServerScope>;
23
46
  token_ttl_seconds?: number;
24
- signing_alg?: string;
47
+ /** RS256 (default) or ES256. */
48
+ signing_alg?: 'RS256' | 'ES256';
49
+ /** RFC 9728: serve protected-resource metadata for this API. */
50
+ publish_resource_metadata?: boolean;
25
51
  }
26
- export interface UpdateResourceServerBody {
52
+ export interface UpdateResourceServerBody extends ResourceServerTokenFields {
27
53
  name?: string;
28
54
  scopes?: Array<string | ResourceServerScope>;
29
55
  token_ttl_seconds?: number;
30
- signing_alg?: string;
56
+ /** RS256 (default) or ES256. */
57
+ signing_alg?: 'RS256' | 'ES256';
58
+ /** RFC 9728: serve protected-resource metadata for this API. */
59
+ publish_resource_metadata?: boolean;
31
60
  /** Immutable — supplying a different value is rejected. */
32
61
  identifier?: string;
33
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-servers.js","sourceRoot":"","sources":["../../src/client/resource-servers.ts"],"names":[],"mappings":";;AAsCA,0DAkBC;AAxDD,uCAAgD;AAsChD,SAAgB,uBAAuB,CAAC,OAAkB;IACxD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,IAA8B;YACnC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA8B;YAC/C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resource-servers.js","sourceRoot":"","sources":["../../src/client/resource-servers.ts"],"names":[],"mappings":";;AAoEA,0DAkBC;AAtFD,uCAAgD;AAoEhD,SAAgB,uBAAuB,CAAC,OAAkB;IACxD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,IAA8B;YACnC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA8B;YAC/C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -10,6 +10,8 @@ export interface RiskWeights {
10
10
  newIp: number;
11
11
  velocity: number;
12
12
  impossibleTravel: number;
13
+ /** The account was idle past the dormant-account threshold before this sign-in. */
14
+ dormantAccount?: number;
13
15
  }
14
16
  /** Per-signal on/off toggles. A disabled signal contributes nothing. */
15
17
  export interface RiskSignalToggles {
@@ -18,6 +20,7 @@ export interface RiskSignalToggles {
18
20
  newIp: boolean;
19
21
  velocity: boolean;
20
22
  impossibleTravel: boolean;
23
+ dormantAccount?: boolean;
21
24
  }
22
25
  /**
23
26
  * Adaptive / risk-based MFA config (Auth0 "Adaptive MFA" parity). OFF by
@@ -1 +1 @@
1
- {"version":3,"file":"risk-based-mfa.js","sourceRoot":"","sources":["../../src/client/risk-based-mfa.ts"],"names":[],"mappings":";;AAoDA,oDAWC;AAfD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,4CAA4C;QAC5C,GAAG;YACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,0EAA0E;QAC1E,MAAM,CAAC,IAA4B;YACjC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"risk-based-mfa.js","sourceRoot":"","sources":["../../src/client/risk-based-mfa.ts"],"names":[],"mappings":";;AAuDA,oDAWC;AAfD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,4CAA4C;QAC5C,GAAG;YACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,0EAA0E;QAC1E,MAAM,CAAC,IAA4B;YACjC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -7,6 +7,10 @@ export interface ScimToken {
7
7
  organization_id: string;
8
8
  connection_id: string | null;
9
9
  prefix: string;
10
+ /** null = read and write; ['read'] = read-only. */
11
+ scopes?: Array<'read' | 'write'> | null;
12
+ /** SCIM user roles[].value → organization role key. */
13
+ role_mappings?: ScimRoleMapping[];
10
14
  last_used_at: number | null;
11
15
  expires_at: number | null;
12
16
  revoked_at: number | null;
@@ -17,14 +21,28 @@ export interface ScimTokenWithSecret extends ScimToken {
17
21
  secret: string;
18
22
  note: string;
19
23
  }
24
+ export interface ScimRoleMapping {
25
+ value: string;
26
+ role: string;
27
+ }
20
28
  export interface CreateScimTokenBody {
21
29
  organization_id: string;
22
30
  name?: string;
23
31
  connection_id?: string;
32
+ /** ['read'] mints a read-only token. */
33
+ scopes?: Array<'read' | 'write'>;
34
+ role_mappings?: ScimRoleMapping[];
35
+ }
36
+ export interface UpdateScimTokenBody {
37
+ name?: string | null;
38
+ scopes?: Array<'read' | 'write'> | null;
39
+ role_mappings?: ScimRoleMapping[] | null;
24
40
  }
25
41
  export declare function scimTokensResource(request: RequestFn): {
26
42
  list(): Promise<ListPage<ScimToken>>;
27
43
  create(body: CreateScimTokenBody, idempotencyKey?: string): Promise<ScimTokenWithSecret>;
44
+ /** Change a token's name, scopes or role mappings. */
45
+ update(id: string, body: UpdateScimTokenBody): Promise<ScimToken>;
28
46
  revoke(id: string): Promise<{
29
47
  object: "scim_token";
30
48
  id: string;
@@ -10,6 +10,10 @@ function scimTokensResource(request) {
10
10
  create(body, idempotencyKey) {
11
11
  return request({ method: 'POST', path: '/v1/scim_tokens', body, idempotencyKey });
12
12
  },
13
+ /** Change a token's name, scopes or role mappings. */
14
+ update(id, body) {
15
+ return request({ method: 'PATCH', path: `/v1/scim_tokens/${(0, request_1.enc)(id)}`, body });
16
+ },
13
17
  revoke(id) {
14
18
  return request({ method: 'POST', path: `/v1/scim_tokens/${(0, request_1.enc)(id)}/revoke` });
15
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"scim-tokens.js","sourceRoot":"","sources":["../../src/client/scim-tokens.ts"],"names":[],"mappings":";;AA4BA,gDAcC;AA1CD,uCAAgD;AA4BhD,SAAgB,kBAAkB,CAAC,OAAkB;IACnD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,IAAyB,EAAE,cAAuB;YACvD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CACJ,EAAU;YAEV,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scim-tokens.js","sourceRoot":"","sources":["../../src/client/scim-tokens.ts"],"names":[],"mappings":";;AA8CA,gDAkBC;AAhED,uCAAgD;AA8ChD,SAAgB,kBAAkB,CAAC,OAAkB;IACnD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,IAAyB,EAAE,cAAuB;YACvD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,sDAAsD;QACtD,MAAM,CAAC,EAAU,EAAE,IAAyB;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CACJ,EAAU;YAEV,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}