@idp.global/catalog 3.4.0 → 3.5.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@idp.global/catalog',
6
- version: '3.4.0',
6
+ version: '3.5.0',
7
7
  description: 'Web component catalog for idp.global, based on the v5 Apple-system design language.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxxRkFBcUY7Q0FDbkcsQ0FBQSJ9
@@ -8,6 +8,7 @@ export interface IIdpSsoConnectionItem {
8
8
  displayName: string;
9
9
  status: 'active' | 'disabled';
10
10
  emailDomains: string[];
11
+ domainVerifications?: IIdpSsoDomainVerificationItem[];
11
12
  entityId: string;
12
13
  ssoUrl: string;
13
14
  certificateCount: number;
@@ -18,6 +19,14 @@ export interface IIdpSsoConnectionItem {
18
19
  orgRoles: string[];
19
20
  }[];
20
21
  }
22
+ export interface IIdpSsoDomainVerificationItem {
23
+ domain: string;
24
+ status: 'pending' | 'verified';
25
+ dnsTxtName: string;
26
+ dnsTxtValue: string;
27
+ lastCheckedAt?: number;
28
+ verifiedAt?: number;
29
+ }
21
30
  export interface IIdpSsoSpDetails {
22
31
  spEntityId: string;
23
32
  acsUrl: string;
@@ -47,6 +56,10 @@ export interface IIdpSsoStatusEventDetail {
47
56
  export interface IIdpSsoDeleteEventDetail {
48
57
  connectionId: string;
49
58
  }
59
+ export interface IIdpSsoVerifyDomainEventDetail {
60
+ connectionId: string;
61
+ domain: string;
62
+ }
50
63
  declare global {
51
64
  interface HTMLElementTagNameMap {
52
65
  'idp-sso-connection-form': IdpSsoConnectionForm;
@@ -137,6 +137,21 @@ let IdpSsoConnectionForm = (() => {
137
137
  displayName: 'Okta (acme.com)',
138
138
  status: 'active',
139
139
  emailDomains: ['acme.com', 'acme.io'],
140
+ domainVerifications: [
141
+ {
142
+ domain: 'acme.com',
143
+ status: 'verified',
144
+ dnsTxtName: '_idp-global-verification.acme.com',
145
+ dnsTxtValue: 'idp-global-verification=verified-example',
146
+ verifiedAt: Date.now(),
147
+ },
148
+ {
149
+ domain: 'acme.io',
150
+ status: 'pending',
151
+ dnsTxtName: '_idp-global-verification.acme.io',
152
+ dnsTxtValue: 'idp-global-verification=pending-example',
153
+ },
154
+ ],
140
155
  entityId: 'http://www.okta.com/exk9examples',
141
156
  ssoUrl: 'https://acme.okta.com/app/xyz/sso/saml',
142
157
  certificateCount: 1,
@@ -273,6 +288,40 @@ let IdpSsoConnectionForm = (() => {
273
288
  gap: 6px;
274
289
  margin-top: 8px;
275
290
  }
291
+ .domain-list {
292
+ display: flex;
293
+ flex-direction: column;
294
+ gap: 8px;
295
+ margin-top: 10px;
296
+ }
297
+ .domain-proof {
298
+ padding: 10px 12px;
299
+ border: 1px solid var(--idp-border);
300
+ border-radius: 9px;
301
+ background: var(--idp-muted);
302
+ }
303
+ .domain-proof-head {
304
+ display: flex;
305
+ align-items: center;
306
+ gap: 8px;
307
+ }
308
+ .domain-proof-head .table-action {
309
+ margin-left: auto;
310
+ }
311
+ .dns-record {
312
+ display: grid;
313
+ grid-template-columns: minmax(72px, auto) 1fr;
314
+ gap: 4px 10px;
315
+ margin-top: 8px;
316
+ font-size: 11px;
317
+ }
318
+ .dns-record-key {
319
+ color: var(--idp-muted-fg);
320
+ }
321
+ .dns-record-value {
322
+ font-family: var(--idp-mono, ui-monospace, monospace);
323
+ overflow-wrap: anywhere;
324
+ }
276
325
  .row-actions {
277
326
  display: flex;
278
327
  gap: 6px;
@@ -457,6 +506,7 @@ let IdpSsoConnectionForm = (() => {
457
506
  return target?.value ?? '';
458
507
  }
459
508
  renderConnectionRow(connectionArg) {
509
+ const domainVerifications = connectionArg.domainVerifications;
460
510
  return html `
461
511
  <div class="row">
462
512
  <div class="row-head">
@@ -492,8 +542,51 @@ let IdpSsoConnectionForm = (() => {
492
542
  </div>
493
543
  </div>
494
544
  <div class="row-meta">${connectionArg.entityId} · ${connectionArg.ssoUrl} · ${connectionArg.certificateCount} cert${connectionArg.certificateCount === 1 ? '' : 's'}</div>
545
+ ${domainVerifications
546
+ ? html `
547
+ <div class="domain-list">
548
+ ${domainVerifications.map((verificationArg) => html `
549
+ <div class="domain-proof">
550
+ <div class="domain-proof-head">
551
+ <idp-badge variant=${verificationArg.status === 'verified' ? 'ok' : 'outline'}>
552
+ @${verificationArg.domain} ${verificationArg.status}
553
+ </idp-badge>
554
+ ${verificationArg.status === 'pending'
555
+ ? html `
556
+ <button
557
+ class="table-action"
558
+ aria-label=${`Verify DNS for ${verificationArg.domain}`}
559
+ @click=${() => this.dispatchEvent(new CustomEvent('idp-sso-verify-domain', {
560
+ detail: { connectionId: connectionArg.id, domain: verificationArg.domain },
561
+ bubbles: true,
562
+ composed: true,
563
+ }))}
564
+ >
565
+ Verify DNS
566
+ </button>
567
+ `
568
+ : html ``}
569
+ </div>
570
+ ${verificationArg.status === 'pending' && verificationArg.dnsTxtName && verificationArg.dnsTxtValue
571
+ ? html `
572
+ <div class="dns-record">
573
+ <span class="dns-record-key">TXT name</span>
574
+ <span class="dns-record-value">${verificationArg.dnsTxtName}</span>
575
+ <span class="dns-record-key">TXT value</span>
576
+ <span class="dns-record-value">${verificationArg.dnsTxtValue}</span>
577
+ </div>
578
+ `
579
+ : html ``}
580
+ </div>
581
+ `)}
582
+ </div>
583
+ `
584
+ : html `
585
+ <div class="chip-row">
586
+ ${connectionArg.emailDomains.map((domainArg) => html `<idp-badge variant="accent">@${domainArg}</idp-badge>`)}
587
+ </div>
588
+ `}
495
589
  <div class="chip-row">
496
- ${connectionArg.emailDomains.map((domainArg) => html `<idp-badge variant="accent">@${domainArg}</idp-badge>`)}
497
590
  ${connectionArg.groupMappings.map((mappingArg) => html `<idp-badge variant="outline">${mappingArg.idpGroup} → ${mappingArg.orgRoles.join(', ')}</idp-badge>`)}
498
591
  </div>
499
592
  </div>
@@ -600,7 +693,8 @@ let IdpSsoConnectionForm = (() => {
600
693
  <div class="title">SAML single sign-on</div>
601
694
  <div class="muted">
602
695
  Let members sign in through your organisation's identity provider. Users entering a
603
- matching email domain are routed to your IdP automatically.
696
+ verified email domain are routed to your IdP automatically. Add the shown DNS TXT
697
+ record and verify ownership before account linking or just-in-time provisioning starts.
604
698
  </div>
605
699
  </div>
606
700
  ${!this.formOpen
@@ -634,4 +728,4 @@ let IdpSsoConnectionForm = (() => {
634
728
  return IdpSsoConnectionForm = _classThis;
635
729
  })();
636
730
  export { IdpSsoConnectionForm };
637
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLXNzby1jb25uZWN0aW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaWRwLXNzby1jb25uZWN0aW9uLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7SUFnRFgsb0JBQW9COzRCQURoQyxhQUFhLENBQUMseUJBQXlCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQ0FBbkIsU0FBUSxXQUFXOzs7O3VDQTZCbEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO3FDQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7b0NBRzFCLEtBQUssRUFBRTtxQ0FHUCxLQUFLLEVBQUU7MkNBR1AsS0FBSyxFQUFFOzRDQUdQLEtBQUssRUFBRTsyQ0FHUCxLQUFLLEVBQUU7d0NBR1AsS0FBSyxFQUFFO3NDQUdQLEtBQUssRUFBRTsyQ0FHUCxLQUFLLEVBQUU7Z0RBR1AsS0FBSyxFQUFFOzRDQUdQLEtBQUssRUFBRTs2Q0FHUCxLQUFLLEVBQUU7cUNBR1AsS0FBSyxFQUFFO1lBdENSLHNMQUFnQixXQUFXLDZCQUFYLFdBQVcsaUdBQStCO1lBRzFELGdMQUFnQixTQUFTLDZCQUFULFNBQVMsNkZBQWlDO1lBRzFELDZLQUFp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
731
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLXNzby1jb25uZWN0aW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaWRwLXNzby1jb25uZWN0aW9uLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7SUErRFgsb0JBQW9COzRCQURoQyxhQUFhLENBQUMseUJBQXlCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQ0FBbkIsU0FBUSxXQUFXOzs7O3VDQTRDbEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO3FDQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7b0NBRzFCLEtBQUssRUFBRTtxQ0FHUCxLQUFLLEVBQUU7MkNBR1AsS0FBSyxFQUFFOzRDQUdQLEtBQUssRUFBRTsyQ0FHUCxLQUFLLEVBQUU7d0NBR1AsS0FBSyxFQUFFO3NDQUdQLEtBQUssRUFBRTsyQ0FHUCxLQUFLLEVBQUU7Z0RBR1AsS0FBSyxFQUFFOzRDQUdQLEtBQUssRUFBRTs2Q0FHUCxLQUFLLEVBQUU7cUNBR1AsS0FBSyxFQUFFO1lBdENSLHNMQUFnQixXQUFXLDZCQUFYLFdBQVcsaUdBQStCO1lBRzFELGdMQUFnQixTQUFTLDZCQUFULFNBQVMsNkZBQWlDO1lBRzFELDZLQUFp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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idp.global/catalog",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "private": false,
5
5
  "description": "Web component catalog for idp.global, based on the v5 Apple-system design language.",
6
6
  "exports": {
@@ -23,7 +23,7 @@
23
23
  "@git.zone/tsbundle": "^2.11.0",
24
24
  "@git.zone/tswatch": "^3.3.5",
25
25
  "@push.rocks/projectinfo": "^5.1.0",
26
- "@types/node": "^25.9.0"
26
+ "@types/node": "^25.9.4"
27
27
  },
28
28
  "files": [
29
29
  "ts_web/**/*",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@idp.global/catalog',
6
- version: '3.4.0',
6
+ version: '3.5.0',
7
7
  description: 'Web component catalog for idp.global, based on the v5 Apple-system design language.'
8
8
  }
@@ -10,6 +10,7 @@ export interface IIdpSsoConnectionItem {
10
10
  displayName: string;
11
11
  status: 'active' | 'disabled';
12
12
  emailDomains: string[];
13
+ domainVerifications?: IIdpSsoDomainVerificationItem[];
13
14
  entityId: string;
14
15
  ssoUrl: string;
15
16
  certificateCount: number;
@@ -18,6 +19,15 @@ export interface IIdpSsoConnectionItem {
18
19
  groupMappings: { idpGroup: string; orgRoles: string[] }[];
19
20
  }
20
21
 
22
+ export interface IIdpSsoDomainVerificationItem {
23
+ domain: string;
24
+ status: 'pending' | 'verified';
25
+ dnsTxtName: string;
26
+ dnsTxtValue: string;
27
+ lastCheckedAt?: number;
28
+ verifiedAt?: number;
29
+ }
30
+
21
31
  export interface IIdpSsoSpDetails {
22
32
  spEntityId: string;
23
33
  acsUrl: string;
@@ -44,6 +54,11 @@ export interface IIdpSsoDeleteEventDetail {
44
54
  connectionId: string;
45
55
  }
46
56
 
57
+ export interface IIdpSsoVerifyDomainEventDetail {
58
+ connectionId: string;
59
+ domain: string;
60
+ }
61
+
47
62
  declare global {
48
63
  interface HTMLElementTagNameMap {
49
64
  'idp-sso-connection-form': IdpSsoConnectionForm;
@@ -67,6 +82,21 @@ export class IdpSsoConnectionForm extends DeesElement {
67
82
  displayName: 'Okta (acme.com)',
68
83
  status: 'active',
69
84
  emailDomains: ['acme.com', 'acme.io'],
85
+ domainVerifications: [
86
+ {
87
+ domain: 'acme.com',
88
+ status: 'verified',
89
+ dnsTxtName: '_idp-global-verification.acme.com',
90
+ dnsTxtValue: 'idp-global-verification=verified-example',
91
+ verifiedAt: Date.now(),
92
+ },
93
+ {
94
+ domain: 'acme.io',
95
+ status: 'pending',
96
+ dnsTxtName: '_idp-global-verification.acme.io',
97
+ dnsTxtValue: 'idp-global-verification=pending-example',
98
+ },
99
+ ],
70
100
  entityId: 'http://www.okta.com/exk9examples',
71
101
  ssoUrl: 'https://acme.okta.com/app/xyz/sso/saml',
72
102
  certificateCount: 1,
@@ -204,6 +234,40 @@ export class IdpSsoConnectionForm extends DeesElement {
204
234
  gap: 6px;
205
235
  margin-top: 8px;
206
236
  }
237
+ .domain-list {
238
+ display: flex;
239
+ flex-direction: column;
240
+ gap: 8px;
241
+ margin-top: 10px;
242
+ }
243
+ .domain-proof {
244
+ padding: 10px 12px;
245
+ border: 1px solid var(--idp-border);
246
+ border-radius: 9px;
247
+ background: var(--idp-muted);
248
+ }
249
+ .domain-proof-head {
250
+ display: flex;
251
+ align-items: center;
252
+ gap: 8px;
253
+ }
254
+ .domain-proof-head .table-action {
255
+ margin-left: auto;
256
+ }
257
+ .dns-record {
258
+ display: grid;
259
+ grid-template-columns: minmax(72px, auto) 1fr;
260
+ gap: 4px 10px;
261
+ margin-top: 8px;
262
+ font-size: 11px;
263
+ }
264
+ .dns-record-key {
265
+ color: var(--idp-muted-fg);
266
+ }
267
+ .dns-record-value {
268
+ font-family: var(--idp-mono, ui-monospace, monospace);
269
+ overflow-wrap: anywhere;
270
+ }
207
271
  .row-actions {
208
272
  display: flex;
209
273
  gap: 6px;
@@ -395,6 +459,7 @@ export class IdpSsoConnectionForm extends DeesElement {
395
459
  }
396
460
 
397
461
  private renderConnectionRow(connectionArg: IIdpSsoConnectionItem): TemplateResult {
462
+ const domainVerifications = connectionArg.domainVerifications;
398
463
  return html`
399
464
  <div class="row">
400
465
  <div class="row-head">
@@ -436,8 +501,53 @@ export class IdpSsoConnectionForm extends DeesElement {
436
501
  </div>
437
502
  </div>
438
503
  <div class="row-meta">${connectionArg.entityId} · ${connectionArg.ssoUrl} · ${connectionArg.certificateCount} cert${connectionArg.certificateCount === 1 ? '' : 's'}</div>
504
+ ${domainVerifications
505
+ ? html`
506
+ <div class="domain-list">
507
+ ${domainVerifications.map((verificationArg) => html`
508
+ <div class="domain-proof">
509
+ <div class="domain-proof-head">
510
+ <idp-badge variant=${verificationArg.status === 'verified' ? 'ok' : 'outline'}>
511
+ @${verificationArg.domain} ${verificationArg.status}
512
+ </idp-badge>
513
+ ${verificationArg.status === 'pending'
514
+ ? html`
515
+ <button
516
+ class="table-action"
517
+ aria-label=${`Verify DNS for ${verificationArg.domain}`}
518
+ @click=${() => this.dispatchEvent(
519
+ new CustomEvent<IIdpSsoVerifyDomainEventDetail>('idp-sso-verify-domain', {
520
+ detail: { connectionId: connectionArg.id, domain: verificationArg.domain },
521
+ bubbles: true,
522
+ composed: true,
523
+ }),
524
+ )}
525
+ >
526
+ Verify DNS
527
+ </button>
528
+ `
529
+ : html``}
530
+ </div>
531
+ ${verificationArg.status === 'pending' && verificationArg.dnsTxtName && verificationArg.dnsTxtValue
532
+ ? html`
533
+ <div class="dns-record">
534
+ <span class="dns-record-key">TXT name</span>
535
+ <span class="dns-record-value">${verificationArg.dnsTxtName}</span>
536
+ <span class="dns-record-key">TXT value</span>
537
+ <span class="dns-record-value">${verificationArg.dnsTxtValue}</span>
538
+ </div>
539
+ `
540
+ : html``}
541
+ </div>
542
+ `)}
543
+ </div>
544
+ `
545
+ : html`
546
+ <div class="chip-row">
547
+ ${connectionArg.emailDomains.map((domainArg) => html`<idp-badge variant="accent">@${domainArg}</idp-badge>`)}
548
+ </div>
549
+ `}
439
550
  <div class="chip-row">
440
- ${connectionArg.emailDomains.map((domainArg) => html`<idp-badge variant="accent">@${domainArg}</idp-badge>`)}
441
551
  ${connectionArg.groupMappings.map(
442
552
  (mappingArg) => html`<idp-badge variant="outline">${mappingArg.idpGroup} → ${mappingArg.orgRoles.join(', ')}</idp-badge>`,
443
553
  )}
@@ -548,7 +658,8 @@ export class IdpSsoConnectionForm extends DeesElement {
548
658
  <div class="title">SAML single sign-on</div>
549
659
  <div class="muted">
550
660
  Let members sign in through your organisation's identity provider. Users entering a
551
- matching email domain are routed to your IdP automatically.
661
+ verified email domain are routed to your IdP automatically. Add the shown DNS TXT
662
+ record and verify ownership before account linking or just-in-time provisioning starts.
552
663
  </div>
553
664
  </div>
554
665
  ${!this.formOpen