Commit 3dacc64
authored
feat(custom-oidc): support non-standard discovery URLs (#2573)
## What kind of change does this PR introduce?
Feature
## What is the current behavior?
`discoveryUrl` is only validated during provider creation (admin
endpoint)
## What is the new behavior?
use `discoveryUrl` while making the actual OIDC discovery too
## Summary
- Adds `OIDCProviderCache.GetProviderFromURL` so custom OIDC providers
can fetch their discovery document from any URL, not just
`{issuer}/.well-known/openid-configuration`.
- Custom OIDC providers now always route through this path; the URL is
sourced from `CustomOAuthProvider.GetDiscoveryURL()` (which falls back
to the standard path when no override is configured).
- Bounds discovery fetches with a 10s HTTP timeout and verifies the
document's `issuer` matches the configured one before constructing the
provider.1 parent 169ad67 commit 3dacc64
8 files changed
Lines changed: 552 additions & 77 deletions
File tree
- internal
- api
- provider
- utilities
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | 5 | | |
8 | 6 | | |
9 | 7 | | |
10 | | - | |
11 | 8 | | |
12 | 9 | | |
13 | 10 | | |
| |||
666 | 663 | | |
667 | 664 | | |
668 | 665 | | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
679 | 670 | | |
680 | | - | |
| 671 | + | |
681 | 672 | | |
682 | 673 | | |
683 | 674 | | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
| 675 | + | |
693 | 676 | | |
694 | 677 | | |
695 | 678 | | |
696 | | - | |
697 | | - | |
698 | | - | |
699 | | - | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | | - | |
704 | | - | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
713 | 683 | | |
714 | | - | |
| 684 | + | |
715 | 685 | | |
716 | 686 | | |
717 | | - | |
| 687 | + | |
718 | 688 | | |
719 | 689 | | |
720 | | - | |
| 690 | + | |
721 | 691 | | |
722 | 692 | | |
723 | | - | |
| 693 | + | |
724 | 694 | | |
725 | 695 | | |
726 | 696 | | |
| |||
730 | 700 | | |
731 | 701 | | |
732 | 702 | | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
737 | | - | |
738 | | - | |
739 | | - | |
740 | | - | |
741 | | - | |
742 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
743 | 714 | | |
744 | 715 | | |
745 | 716 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
690 | 690 | | |
691 | 691 | | |
692 | 692 | | |
693 | | - | |
694 | | - | |
| 693 | + | |
695 | 694 | | |
696 | 695 | | |
697 | 696 | | |
| |||
765 | 764 | | |
766 | 765 | | |
767 | 766 | | |
768 | | - | |
769 | 767 | | |
770 | 768 | | |
771 | 769 | | |
772 | 770 | | |
773 | 771 | | |
774 | 772 | | |
775 | 773 | | |
| 774 | + | |
776 | 775 | | |
777 | 776 | | |
778 | 777 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
114 | 117 | | |
115 | 118 | | |
116 | 119 | | |
117 | 120 | | |
118 | 121 | | |
| 122 | + | |
119 | 123 | | |
120 | 124 | | |
121 | 125 | | |
| |||
133 | 137 | | |
134 | 138 | | |
135 | 139 | | |
136 | | - | |
137 | | - | |
| 140 | + | |
138 | 141 | | |
139 | 142 | | |
140 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
274 | 275 | | |
275 | 276 | | |
276 | 277 | | |
| 278 | + | |
277 | 279 | | |
278 | 280 | | |
279 | 281 | | |
280 | 282 | | |
281 | | - | |
| 283 | + | |
282 | 284 | | |
283 | 285 | | |
284 | 286 | | |
| |||
403 | 405 | | |
404 | 406 | | |
405 | 407 | | |
| 408 | + | |
406 | 409 | | |
407 | 410 | | |
408 | 411 | | |
| |||
412 | 415 | | |
413 | 416 | | |
414 | 417 | | |
415 | | - | |
| 418 | + | |
416 | 419 | | |
417 | 420 | | |
418 | 421 | | |
| |||
431 | 434 | | |
432 | 435 | | |
433 | 436 | | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
434 | 479 | | |
435 | 480 | | |
436 | 481 | | |
| |||
461 | 506 | | |
462 | 507 | | |
463 | 508 | | |
| 509 | + | |
464 | 510 | | |
465 | 511 | | |
466 | 512 | | |
467 | 513 | | |
468 | | - | |
| 514 | + | |
469 | 515 | | |
470 | 516 | | |
471 | 517 | | |
| |||
481 | 527 | | |
482 | 528 | | |
483 | 529 | | |
| 530 | + | |
484 | 531 | | |
485 | 532 | | |
486 | 533 | | |
487 | 534 | | |
488 | | - | |
| 535 | + | |
489 | 536 | | |
490 | 537 | | |
491 | 538 | | |
| |||
0 commit comments