1
0
Fork 0
mirror of synced 2024-10-01 17:58:02 +13:00
appwrite/docs/specs/authentication.drawio.svg

651 lines
52 KiB
XML
Raw Normal View History

2021-01-16 23:33:01 +13:00
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1081px" height="571px" viewBox="-0.5 -0.5 1081 571" content="&lt;mxfile host=&quot;452ed2f0-2570-47da-af81-6dc9d9d310bc&quot; modified=&quot;2021-01-16T10:32:32.542Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.52.1 Chrome/83.0.4103.122 Electron/9.3.5 Safari/537.36&quot; etag=&quot;xixw6ht4-WCcIuTHPPx4&quot; version=&quot;13.10.0&quot; type=&quot;embed&quot;&gt;&lt;diagram id=&quot;WOshqXSVd2VkRfcggtcB&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;">
2021-01-16 21:20:59 +13:00
<defs/>
<g>
2021-01-16 23:33:01 +13:00
<path d="M 620 120 L 620 153.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 620 158.88 L 616.5 151.88 L 620 153.63 L 623.5 151.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="560" y="80" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 100px; margin-left: 561px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Session Cookie
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="620" y="104" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
Session Cookie
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 540 40 L 540 60 L 620 60 L 620 73.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 620 78.88 L 616.5 71.88 L 620 73.63 L 623.5 71.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="480" y="0" width="120" height="40" fill="#d80073" stroke="#a50040" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 20px; margin-left: 481px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
2021-01-16 23:33:01 +13:00
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
2021-01-16 21:20:59 +13:00
Email / Password
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="540" y="24" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
Email / Password
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 700 40 L 700 60 L 620 60 L 620 73.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 620 78.88 L 616.5 71.88 L 620 73.63 L 623.5 71.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="640" y="0" width="120" height="40" fill="#d80073" stroke="#a50040" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 20px; margin-left: 641px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
2021-01-16 23:33:01 +13:00
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
2021-01-16 21:20:59 +13:00
OAuth Provider
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="700" y="24" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
OAuth Provider
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 620 200 L 620 273.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 620 278.88 L 616.5 271.88 L 620 273.63 L 623.5 271.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 235px; margin-left: 618px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
Granted with
</div>
</div>
</div>
</foreignObject>
<text x="618" y="238" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">
Granted with
</text>
</switch>
</g>
<rect x="560" y="160" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 180px; margin-left: 561px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Member
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="620" y="184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
Member
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 1020 200 L 1020 273.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 1020 278.88 L 1016.5 271.88 L 1020 273.63 L 1023.5 271.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 232px; margin-left: 1022px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
Granted with
</div>
</div>
</div>
</foreignObject>
<text x="1022" y="235" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">
Granted with
</text>
</switch>
</g>
<rect x="960" y="160" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 180px; margin-left: 961px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
App
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="1020" y="184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
App
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 860 40 L 900 40 L 900 140 L 620 140 L 620 153.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 620 158.88 L 616.5 151.88 L 620 153.63 L 623.5 151.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="800" y="0" width="120" height="40" fill="#d80073" stroke="#a50040" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 20px; margin-left: 801px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
2021-01-16 23:33:01 +13:00
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
2021-01-16 21:20:59 +13:00
JWT
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="860" y="24" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
JWT
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 1020 40 L 1020 153.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 1020 158.88 L 1016.5 151.88 L 1020 153.63 L 1023.5 151.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="960" y="0" width="120" height="40" fill="#d80073" stroke="#a50040" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 20px; margin-left: 961px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
2021-01-16 23:33:01 +13:00
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
2021-01-16 21:20:59 +13:00
AP Key
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="1020" y="24" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
AP Key
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 380 200 L 380 273.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 278.88 L 376.5 271.88 L 380 273.63 L 383.5 271.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 240px; margin-left: 380px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
Granted with
</div>
</div>
</div>
</foreignObject>
<text x="380" y="243" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">
Granted with
</text>
</switch>
</g>
<rect x="320" y="160" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
2021-01-16 21:20:59 +13:00
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
2021-01-16 23:33:01 +13:00
<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: 180px; margin-left: 321px;">
2021-01-16 21:20:59 +13:00
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Guest
</div>
</div>
</div>
</foreignObject>
2021-01-16 23:33:01 +13:00
<text x="380" y="184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
2021-01-16 21:20:59 +13:00
Guest
</text>
</switch>
</g>
2021-01-16 23:33:01 +13:00
<path d="M 410 320 L 410 400 L 740 400 L 740 473.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 740 478.88 L 736.5 471.88 L 740 473.63 L 743.5 471.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="280" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 300px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Public Scopes
</div>
</div>
</div>
</foreignObject>
<text x="380" y="304" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Public Scopes
</text>
</switch>
</g>
<path d="M 650 320 L 650 400 L 740 400 L 740 473.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 740 478.88 L 736.5 471.88 L 740 473.63 L 743.5 471.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<rect x="560" y="280" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 300px; margin-left: 561px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Member Scopes
</div>
</div>
</div>
</foreignObject>
<text x="620" y="304" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Member Scopes
</text>
</switch>
</g>
<path d="M 1050 320 L 1050 550 L 806.37 550" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 801.12 550 L 808.12 546.5 L 806.37 550 L 808.12 553.5 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<rect x="960" y="280" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 300px; margin-left: 961px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Custom Scopes
<br/>
<font style="font-size: 10px">
(Defined on key creation)
</font>
</div>
</div>
</div>
</foreignObject>
<text x="1020" y="304" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Custom Scopes...
</text>
</switch>
</g>
<rect x="440" y="480" width="120" height="40" fill="#0050ef" stroke="#001dbc" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 500px; margin-left: 441px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Scope Validation
</div>
</div>
</div>
</foreignObject>
<text x="500" y="504" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Scope Validation
</text>
</switch>
</g>
<path d="M 620 320 L 620 380 L 500 380 L 500 473.63" fill="none" stroke="#001dbc" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 500 478.88 L 496.5 471.88 L 500 473.63 L 503.5 471.88 Z" fill="#001dbc" stroke="#001dbc" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 1020 320 L 1020 380 L 500 380 L 500 553.63" fill="none" stroke="#001dbc" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 500 558.88 L 496.5 551.88 L 500 553.63 L 503.5 551.88 Z" fill="#001dbc" stroke="#001dbc" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 320 L 380 380 L 500 380 L 500 473.63" fill="none" stroke="#001dbc" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 500 478.88 L 496.5 471.88 L 500 473.63 L 503.5 471.88 Z" fill="#001dbc" stroke="#001dbc" stroke-miterlimit="10" pointer-events="all"/>
<rect x="680" y="530" width="120" height="40" fill="#60a917" stroke="#2d7600" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 550px; margin-left: 681px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Database
<br/>
<font style="font-size: 9px">
Each doc has permission
</font>
</div>
</div>
</div>
</foreignObject>
<text x="740" y="554" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Database...
</text>
</switch>
</g>
<rect x="680" y="480" width="120" height="40" fill="#60a917" stroke="#2d7600" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 500px; margin-left: 681px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Roles Validation
</div>
</div>
</div>
</foreignObject>
<text x="740" y="504" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Roles Validation
</text>
</switch>
</g>
<path d="M 60 80 L 60 113.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 118.88 L 56.5 111.88 L 60 113.63 L 63.5 111.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="40" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 60px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">
Roles
</div>
</div>
</div>
</foreignObject>
<text x="60" y="64" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">
Roles
</text>
</switch>
</g>
<path d="M 60 160 L 60 180 L 60 150 L 60 163.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 168.88 L 56.5 161.88 L 60 163.63 L 63.5 161.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="120" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 140px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Wildcard
<br/>
</div>
</div>
</div>
</foreignObject>
<text x="60" y="144" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Wildcard...
</text>
</switch>
</g>
<path d="M 60 210 L 60 230 L 60 200 L 60 213.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 218.88 L 56.5 211.88 L 60 213.63 L 63.5 211.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="170" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 190px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Guset
<br/>
role:guest
</div>
</div>
</div>
</foreignObject>
<text x="60" y="194" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Guset...
</text>
</switch>
</g>
<path d="M 60 260 L 60 263.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 268.88 L 56.5 261.88 L 60 263.63 L 63.5 261.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="220" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 240px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Member
<br/>
role:member
</div>
</div>
</div>
</foreignObject>
<text x="60" y="244" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Member...
</text>
</switch>
</g>
<path d="M 60 310 L 60 313.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 318.88 L 56.5 311.88 L 60 313.63 L 63.5 311.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="270" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 290px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
App
<br/>
role:app
</div>
</div>
</div>
</foreignObject>
<text x="60" y="294" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
App...
</text>
</switch>
</g>
<rect x="0" y="320" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 340px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
User ID
<br/>
user:[ID]
</div>
</div>
</div>
</foreignObject>
<text x="60" y="344" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
User ID...
</text>
</switch>
</g>
<path d="M 60 410 L 60 430 L 60 400 L 60 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 418.88 L 56.5 411.88 L 60 413.63 L 63.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="370" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 390px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Team ID
<br/>
team:[ID]
</div>
</div>
</div>
</foreignObject>
<text x="60" y="394" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Team ID...
</text>
</switch>
</g>
<path d="M 60 460 L 60 480 L 60 450 L 60 463.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 60 468.88 L 56.5 461.88 L 60 463.63 L 63.5 461.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="420" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 440px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Team ID + Role
<br/>
team:[ID]/[ROLE]
</div>
</div>
</div>
</foreignObject>
<text x="60" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Team ID + Role...
</text>
</switch>
</g>
<rect x="0" y="470" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 490px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Member ID
<br/>
member:[ID]
</div>
</div>
</div>
</foreignObject>
<text x="60" y="494" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Member ID...
</text>
</switch>
</g>
<rect x="440" y="530" width="120" height="40" fill="#0050ef" stroke="#001dbc" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 550px; margin-left: 441px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Endpoints
<br/>
<font style="font-size: 9px">
Each endpoint has 1 scope
</font>
</div>
</div>
</div>
</foreignObject>
<text x="500" y="554" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Endpoints...
</text>
</switch>
</g>
<path d="M 200 80 L 200 113.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 118.88 L 196.5 111.88 L 200 113.63 L 203.5 111.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="140" y="40" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 60px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">
Scopes
</div>
</div>
</div>
</foreignObject>
<text x="200" y="64" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">
Scopes
</text>
</switch>
</g>
<path d="M 200 160 L 200 180 L 200 150 L 200 163.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 168.88 L 196.5 161.88 L 200 163.63 L 203.5 161.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="140" y="120" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 140px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
public
</div>
</div>
</div>
</foreignObject>
<text x="200" y="144" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
public
</text>
</switch>
</g>
<path d="M 200 210 L 200 230 L 200 200 L 200 213.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 218.88 L 196.5 211.88 L 200 213.63 L 203.5 211.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="140" y="170" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 190px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
account
</div>
</div>
</div>
</foreignObject>
<text x="200" y="194" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
account
</text>
</switch>
</g>
<path d="M 200 260 L 200 280 L 200 250 L 200 263.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 268.88 L 196.5 261.88 L 200 263.63 L 203.5 261.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="140" y="220" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 240px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
files.read
</div>
</div>
</div>
</foreignObject>
<text x="200" y="244" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
files.read
</text>
</switch>
</g>
<rect x="140" y="270" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 290px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
files.write
</div>
</div>
</div>
</foreignObject>
<text x="200" y="294" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
files.write
</text>
</switch>
</g>
<rect x="140" y="320" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<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: 340px; margin-left: 141px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
...
</b>
</div>
</div>
</div>
</foreignObject>
<text x="200" y="344" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
...
</text>
</switch>
</g>
2021-01-16 21:20:59 +13:00
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" 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>