mirror of
https://github.com/sasjs/server.git
synced 2025-12-10 11:24:35 +00:00
3 lines
37 KiB
XML
3 lines
37 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1665px" height="1352px" viewBox="-0.5 -0.5 1665 1352" content="<mxfile><diagram id="HJy_QFGaI9JSrArARLup" name="Page-1">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</diagram></mxfile>"><defs/><g><rect x="774" y="0" width="360" height="1250" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 358px; height: 1px; padding-top: 7px; margin-left: 775px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 30px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SASjs Server</div></div></div></foreignObject><text x="954" y="37" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="30px" text-anchor="middle">SASjs Server</text></switch></g><rect x="794" y="90" width="320" height="330" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 97px; margin-left: 795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 22px">Internal Authentication</font></div></div></div></foreignObject><text x="954" y="109" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Internal Authentication</text></switch></g><ellipse cx="24" cy="40" rx="10" ry="10" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 24 50 L 24 83.33 M 24 56.67 L 4 56.67 M 24 56.67 L 44 56.67 M 24 83.33 L 4 110 M 24 83.33 L 44 110" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 117px; margin-left: 24px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">End user</div></div></div></foreignObject><text x="24" y="129" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">End us...</text></switch></g><path d="M 214 173 L 852.63 172.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 857.88 172.5 L 850.88 176.01 L 852.63 172.5 L 850.88 169.01 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 172px; margin-left: 497px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px ; line-height: 18px"><span style="color: #a31515">/SASjsApi/auth/authorize<br />(username,password,clientId)</span></div></div></div></div></foreignObject><text x="497" y="175" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">/SASjsApi/auth/authorize...</text></switch></g><path d="M 858.62 228.66 L 220.37 229.99" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215.12 230 L 222.11 226.48 L 220.37 229.99 L 222.13 233.48 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 229px; margin-left: 476px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><font color="#a31515" face="menlo, monaco, courier new, monospace"><span style="font-size: 12px">`code`</span></font></div></div></div></foreignObject><text x="476" y="233" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">`code`</text></switch></g><ellipse cx="34" cy="1260" rx="10" ry="10" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 34 1270 L 34 1303.33 M 34 1276.67 L 14 1276.67 M 34 1276.67 L 54 1276.67 M 34 1303.33 L 14 1330 M 34 1303.33 L 54 1330" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1337px; margin-left: 34px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">End user</div></div></div></foreignObject><text x="34" y="1349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">End us...</text></switch></g><path d="M 214 313 L 852.63 312.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 857.88 312.5 L 850.88 316.01 L 852.63 312.5 L 850.88 309.01 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 312px; margin-left: 497px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px ; line-height: 18px"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; line-height: 18px"><span style="color: #a31515">/SASjsApi/auth/token</span></div><span style="color: #a31515">(clientId,code)</span></div></div></div></div></foreignObject><text x="497" y="315" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">/SASjsApi/auth/token(clientId,code)</text></switch></g><path d="M 860.71 371.45 L 220.37 372.98" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215.12 373 L 222.11 369.48 L 220.37 372.98 L 222.13 376.48 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 372px; margin-left: 476px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><font color="#a31515" face="menlo, monaco, courier new, monospace"><span style="font-size: 12px">`</span></font><span style="color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px">accessToken</span><span style="font-size: 12px ; color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace">` & `</span><span style="color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px">refreshToken</span><span style="color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px">`</span></div></div></div></foreignObject><text x="476" y="376" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">`accessToken` & `refreshToken`</text></switch></g><path d="M 33.67 1250 L 24.33 110" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="2 6" pointer-events="stroke"/><rect x="859" y="150" width="190" height="90" rx="13.5" ry="13.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 188px; height: 1px; padding-top: 195px; margin-left: 860px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span>Validates</span><br /><span>username/password/clientId</span><br /><span>and issue short</span><br /><span>Authorization code</span></div></div></div></foreignObject><text x="954" y="199" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validates...</text></switch></g><rect x="859" y="290" width="190" height="90" rx="13.5" ry="13.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 188px; height: 1px; padding-top: 335px; margin-left: 860px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validates<br />clientId & authorization code<br />and issue<br />Access Token & Refresh Token</div></div></div></foreignObject><text x="954" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validates...</text></switch></g><rect x="794" y="1070" width="320" height="150" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 1077px; margin-left: 795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Protected APIs<br />Authenticate requests <br />with provided Bearer Token</div></div></div></foreignObject><text x="954" y="1089" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Protected APIs...</text></switch></g><path d="M 224 1128 L 783.79 1127.6" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 789.04 1127.6 L 782.04 1131.11 L 783.79 1127.6 L 782.04 1124.11 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1127px; margin-left: 473px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px ; line-height: 18px"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; line-height: 18px"><font color="#a31515">Request with Access Token</font></div></div></div></div></div></foreignObject><text x="473" y="1130" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Request with Access Token</text></switch></g><rect x="154" y="50" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 80px; margin-left: 155px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Browser</div></div></div></foreignObject><text x="214" y="87" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">Browser</text></switch></g><rect x="154" y="1260" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1290px; margin-left: 155px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Browser</div></div></div></foreignObject><text x="214" y="1297" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">Browser</text></switch></g><path d="M 214 1260 L 214 110" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="794" y="450" width="320" height="560" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 457px; margin-left: 795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 22px">Okta Authentication</font></div></div></div></foreignObject><text x="954" y="469" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Okta Authentication</text></switch></g><path d="M 214 523 L 850.16 525.73" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 855.41 525.76 L 848.4 529.23 L 850.16 525.73 L 848.43 522.23 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 523px; margin-left: 495px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px ; line-height: 18px"><span style="color: #a31515">/SASjsApi/auth/okta/authorize<br /></span></div></div></div></div></foreignObject><text x="495" y="527" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">/SASjsApi/auth/okta/authorize
|
||
</text></switch></g><rect x="859" y="500" width="190" height="280" rx="28.5" ry="28.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 188px; height: 1px; padding-top: 640px; margin-left: 860px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">redirects to okta server<br /><br /><br /><br />OKTA OIDC middleware<br />https://github.com/okta/okta-oidc-middleware<br /><br /><br /><br />OKTA nodeJS Express implementation<br />https://github.com/okta/samples-nodejs-express-4/tree/master/okta-hosted-login<br /></div></div></div></foreignObject><text x="954" y="644" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">redirects to okta server...</text></switch></g><path d="M 954 950 L 954 1063.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 954 1068.88 L 950.5 1061.88 L 954 1063.63 L 957.5 1061.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="859" y="860" width="190" height="90" rx="13.5" ry="13.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 188px; height: 1px; padding-top: 905px; margin-left: 860px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validates express session <br />through OKTA OIDC middleware</div></div></div></foreignObject><text x="954" y="909" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validates express session...</text></switch></g><rect x="1344" y="450" width="320" height="380" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 457px; margin-left: 1345px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 22px">Okta Authorization Server<br /></span></div></div></div></foreignObject><text x="1504" y="469" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Okta Authorization Server
|
||
</text></switch></g><rect x="1409" y="500" width="190" height="280" rx="28.5" ry="28.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 1049.38 534.44 L 1397.63 534.01" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1402.88 534 L 1395.89 537.51 L 1397.63 534.01 L 1395.88 530.51 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 534px; margin-left: 1232px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px">/authorize</span></div></div></div></foreignObject><text x="1232" y="541" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">/authorize</text></switch></g><path d="M 1405.96 581.48 L 220.37 581" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215.12 581 L 222.12 577.5 L 220.37 581 L 222.12 584.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 585px; margin-left: 573px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">302 redirect to authentication prompt </div></div></div></foreignObject><text x="573" y="592" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">302 redirect to authentication prompt </text></switch></g><path d="M 214 650 L 1402.63 650.48" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1407.88 650.48 L 1400.88 653.98 L 1402.63 650.48 L 1400.88 646.98 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 645px; margin-left: 531px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Authentication & Consent</div></div></div></foreignObject><text x="531" y="652" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">Authentication & Consent</text></switch></g><path d="M 1409 690.12 L 1054.42 690.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1049.17 690.12 L 1056.17 686.62 L 1054.42 690.12 L 1056.17 693.62 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 692px; margin-left: 1246px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Authorization Code to redirect uri</div></div></div></foreignObject><text x="1246" y="696" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="14px" text-anchor="middle">Authorization Code to redirect uri</text></switch></g><path d="M 1048.05 720 L 1402.63 720" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1407.88 720 L 1400.88 723.5 L 1402.63 720 L 1400.88 716.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 721px; margin-left: 1234px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="color: rgb(163 , 21 , 21) ; font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px">/token</span></div></div></div></foreignObject><text x="1234" y="725" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="14px" text-anchor="middle">/token</text></switch></g><path d="M 1409.95 750 L 1055.37 750" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1050.12 750 L 1057.12 746.5 L 1055.37 750 L 1057.12 753.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 752px; margin-left: 1247px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Access Token</div></div></div></foreignObject><text x="1247" y="756" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="14px" text-anchor="middle">Access Token</text></switch></g><path d="M 214 910 L 852.63 910" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 857.88 910 L 850.88 913.5 L 852.63 910 L 850.88 906.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 909px; margin-left: 497px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; font-size: 12px ; line-height: 18px"><div style="font-family: "menlo" , "monaco" , "courier new" , monospace ; line-height: 18px"><font color="#a31515">Request with OKTA mechanism</font></div></div></div></div></div></foreignObject><text x="497" y="912" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Request with OKTA mechanism</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> |