|
40 | 40 | </address>
|
41 | 41 | </author>
|
42 | 42 |
|
43 |
| - <date day="26" month="April" year="2024" /> |
| 43 | + <date day="03" month="May" year="2024" /> |
44 | 44 |
|
45 | 45 | <area>Security</area>
|
46 | 46 | <workgroup>OAuth Working Group</workgroup>
|
|
537 | 537 | Note that while this example uses the OAuth 2.0 Authorization Code flow,
|
538 | 538 | a similar sequence could also be implemented with any other OAuth flow.
|
539 | 539 | </t>
|
| 540 | + |
| 541 | + <!-- |
| 542 | + Diagram Source: |
| 543 | + https://www.websequencediagrams.com/?lz=cGFydGljaXBhbnQgQ2xpZW50CgAHDCJSZXNvdXJjZVxuU2VydmVyIiBhcyBSUwAXDkF1dGhvcml6YXRpb24AHQ1BUwoKAFEGLT5SUzogAEcIIFJlcXVlc3RcbldpdGhvdXQgQWNjZXNzIFRva2VuClJTLS0-AIEJBjogV1dXLUF1dGhlbnRpY2F0ZQBEDUZldGNoIFJTIE1ldGFkYXRhAC4OAA4LIFJlc3BvbnNlCm5vdGUgb3ZlcgCBawc6IFZhbGlkYXRlAD0MLFxuQnVpbGQgQQA5C1VSTACBRwlBAHYJABcLCkEAgS8MAC8MAGYZLCBBUzogT0F1dGggAII9DSBGbG93XG4AgxEGIE9idGFpbnMAghsOAII-HndpdGgAgj4bAIMCCwCCEwc&s=default |
| 544 | + --> |
540 | 545 | <t>
|
541 |
| - <figure> |
542 |
| - <artwork><![CDATA[ |
| 546 | +<figure> |
| 547 | + <name>Sequence Diagram</name> |
| 548 | + <artset> |
| 549 | + <artwork type="svg" name="sequence.svg"> |
| 550 | + <svg baseProfile="tiny" version="1.2" viewBox="0 0 452 587" xmlns="http://www.w3.org/2000/svg"> |
| 551 | + <path d="M-235,-405.0000000000001 L-235,0" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 552 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="62" x="61.5" y="52.5"/> |
| 553 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="73.19531249999997" y="81.79166666666653"> |
| 554 | + Client </text> |
| 555 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="62" x="61.5" y="505.5"/> |
| 556 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="73.19531249999997" y="534.3541666666667"> |
| 557 | + Client </text> |
| 558 | + <path d="M-53,-405.00000000000017 L-53,0" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 559 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="85" x="232.5" y="52.5"/> |
| 560 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="243.95833333333334" y="74.03124999999984"> |
| 561 | + Resource </text> |
| 562 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="253.115234375" y="89.55208333333316"> |
| 563 | + Server </text> |
| 564 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="85" x="232.5" y="505.5"/> |
| 565 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="243.95833333333334" y="526.59375"> |
| 566 | + Resource </text> |
| 567 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="253.115234375" y="542.1145833333334"> |
| 568 | + Server </text> |
| 569 | + <path d="M56,-405.00000000000017 L56,0" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 570 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="112" x="327.5" y="52.5"/> |
| 571 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="339.00390625" y="74.03124999999984"> |
| 572 | + Authorization </text> |
| 573 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="361.7936197916667" y="89.55208333333316"> |
| 574 | + Server </text> |
| 575 | + <rect fill="white" height="48" stroke="black" stroke-width="1" width="112" x="327.5" y="505.5"/> |
| 576 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="339.00390625" y="526.59375"> |
| 577 | + Authorization </text> |
| 578 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="361.7936197916667" y="542.1145833333334"> |
| 579 | + Server </text> |
| 580 | + <rect fill="white" height="15.333333333333314" width="121.03515625000003" x="123.21874999999997" y="113.8333333333332"/> |
| 581 | + <rect fill="white" height="15.333333333333314" width="147.43489583333331" x="110.01888020833331" y="129.35416666666652"/> |
| 582 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="123.21874999999997" y="127.16666666666653"> |
| 583 | + Resource Request </text> |
| 584 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="110.01888020833331" y="142.68749999999986"> |
| 585 | + Without Access Token </text> |
| 586 | + <path d="M-234.50455729166669,-360 L-53.02278645833337,-360" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 587 | + <path d="M-54,-360 L-54,-360 L-62,-368 L-62,-360 L-62,-352 L-54,-360" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 588 | + <rect fill="white" height="15.333333333333314" width="130.13020833333334" x="118.67122395833331" y="159.2083333333332"/> |
| 589 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="118.67122395833331" y="172.54166666666654"> |
| 590 | + WWW-Authenticate </text> |
| 591 | + <path d="M-234.50455729166669,-330 L-53.02278645833337,-330" fill="none" stroke="black" stroke-dasharray="5,3" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 592 | + <path d="M-234,-330 L-234,-330 L-226,-338 L-226,-330 L-226,-322 L-234,-330" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 593 | + <rect fill="white" height="15.333333333333314" width="126.22395833333334" x="120.62434895833331" y="189.0624999999999"/> |
| 594 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="120.62434895833331" y="202.39583333333323"> |
| 595 | + Fetch RS Metadata </text> |
| 596 | + <path d="M-234.50455729166669,-300 L-53.02278645833337,-300" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 597 | + <path d="M-54,-300 L-54,-300 L-62,-308 L-62,-300 L-62,-292 L-54,-300" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 598 | + <rect fill="white" height="15.333333333333314" width="153.97786458333331" x="106.74739583333331" y="218.91666666666657"/> |
| 599 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="106.74739583333331" y="232.24999999999991"> |
| 600 | + RS Metadata Response </text> |
| 601 | + <path d="M-234.50455729166669,-270 L-53.02278645833337,-270" fill="none" stroke="black" stroke-dasharray="5,3" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 602 | + <path d="M-234,-270 L-234,-270 L-226,-278 L-226,-270 L-226,-262 L-234,-270" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 603 | + <path d="M-317,-257 L-317,-257 L-161,-257 L-153,-249 L-153,-209 L-317,-209 L-317,-257" fill="white" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 604 | + <path d="M-160.57291666666669,-256.72916666666674 L-160.57291666666669,-248.72916666666674 L-152.57291666666669,-248.72916666666674" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 605 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="15.815755208333314" y="269.8645833333332"> |
| 606 | + Validate RS Metadata, </text> |
| 607 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="15.815755208333314" y="285.3854166666666"> |
| 608 | + Build AS Metadata URL </text> |
| 609 | + <rect fill="white" height="15.333333333333371" width="126.08072916666669" x="175.03515625" y="309.66666666666663"/> |
| 610 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="175.03515625" y="322.99999999999994"> |
| 611 | + Fetch AS Metadata </text> |
| 612 | + <path d="M-234.50455729166669,-179 L55.655598958333314,-179" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 613 | + <path d="M55,-179 L55,-179 L47,-187 L47,-179 L47,-171 L55,-179" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 614 | + <rect fill="white" height="15.333333333333314" width="153.83463541666669" x="161.158203125" y="339.5208333333333"/> |
| 615 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="161.158203125" y="352.85416666666663"> |
| 616 | + AS Metadata Response </text> |
| 617 | + <path d="M-234.50455729166669,-149 L55.655598958333314,-149" fill="none" stroke="black" stroke-dasharray="5,3" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 618 | + <path d="M-234,-149 L-234,-149 L-226,-157 L-226,-149 L-226,-141 L-234,-149" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 619 | + <path d="M-241,-136 L-241,-136 L54,-136 L62,-128 L62,-89 L-241,-89 L-241,-136" fill="white" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 620 | + <path d="M53.655598958333314,-136.125 L53.655598958333314,-128.125 L61.655598958333314,-128.125" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 621 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="143.41080729166666" y="390.46874999999994"> |
| 622 | + OAuth Authorization Flow </text> |
| 623 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="143.41080729166666" y="405.9895833333333"> |
| 624 | + Client Obtains Access Token </text> |
| 625 | + <rect fill="white" height="15.333333333333314" width="121.03515625" x="123.21875" y="430.2708333333333"/> |
| 626 | + <rect fill="white" height="15.333333333333371" width="123.3203125" x="122.076171875" y="445.79166666666663"/> |
| 627 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="123.21875" y="443.60416666666663"> |
| 628 | + Resource Request </text> |
| 629 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="122.076171875" y="459.12499999999994"> |
| 630 | + With Access Token </text> |
| 631 | + <path d="M-234.50455729166669,-43 L-53.02278645833337,-43" fill="none" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 632 | + <path d="M-54,-43 L-54,-43 L-62,-51 L-62,-43 L-62,-35 L-54,-43" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 633 | + <rect fill="white" height="15.333333333333371" width="130.91145833333334" x="118.28059895833331" y="475.6458333333333"/> |
| 634 | + <text fill="black" font-family="sans-serif" font-size="13.333333333333334" x="118.28059895833331" y="488.97916666666663"> |
| 635 | + Resource Response </text> |
| 636 | + <path d="M-234.50455729166669,-13 L-53.02278645833337,-13" fill="none" stroke="black" stroke-dasharray="5,3" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 637 | + <path d="M-234,-13 L-234,-13 L-226,-21 L-226,-13 L-226,-5 L-234,-13" fill="black" stroke="black" stroke-width="1" transform="translate(327.5 505.5)"/> |
| 638 | + </svg> |
| 639 | + </artwork> |
| 640 | + <artwork type="ascii-art" name="sequence.txt"><![CDATA[ |
543 | 641 | +----------+ +----------+ +---------------+
|
544 | 642 | | Client | | Resource | | Authorization |
|
545 | 643 | | | | Server | | Server |
|
|
587 | 685 | | <---------------------- | |
|
588 | 686 | | | |
|
589 | 687 | ]]></artwork>
|
590 |
| - </figure> |
| 688 | + </artset> |
| 689 | +</figure> |
591 | 690 | </t>
|
592 | 691 | <t>
|
593 | 692 | <list style="numbers">
|
|
1455 | 1554 | <section anchor="History" title="Document History">
|
1456 | 1555 | <t>[[ to be removed by the RFC Editor before publication as an RFC ]]</t>
|
1457 | 1556 |
|
| 1557 | + <t> |
| 1558 | + -05 |
| 1559 | + <list style="symbols"> |
| 1560 | + <t> |
| 1561 | + Added SVG diagram |
| 1562 | + </t> |
| 1563 | + </list> |
| 1564 | + </t> |
| 1565 | + |
1458 | 1566 | <t>
|
1459 | 1567 | -04
|
1460 | 1568 | <list style="symbols">
|
|
0 commit comments