| <mxfile host="drawio-plugin" modified="2023-05-19T09:35:49.753Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36" etag="8cXSAneUY9EacNUk1MxU" version="20.5.3" type="embed"><diagram id="9t5u96WNi0rS4HrvDtxI" name="Page-1"><mxGraphModel dx="1045" dy="583" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="TRxEg24sL5Zt3rOSAXKO-1" value="Apisix<br><br>API gateway" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"><mxGeometry x="300" y="320" width="140" height="140" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-2" value="" style="shape=actor;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="50" y="300" width="40" height="60" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-4" value="Keycloack<br><br>OIDC provider" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"><mxGeometry x="300" y="80" width="140" height="140" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-5" value="James<br><br>JMAP server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"><mxGeometry x="600" y="320" width="140" height="140" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-7" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="110" y="360" as="sourcePoint"/><mxPoint x="290" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-8" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="100" y="400" as="sourcePoint"/><mxPoint x="280" y="430" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-9" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="450" y="400" as="sourcePoint"/><mxPoint x="590" y="400" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-10" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="110" y="330" as="sourcePoint"/><mxPoint x="290" y="200" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-11" value="1. Un-authenticated request will be rejected" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="130" y="300" width="210" height="70" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-12" value="2. Login against keycloack" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="40" y="180" width="210" height="70" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-13" value="3. Use of the access token to authenticate against Apisix" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="60" y="420" width="210" height="70" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-14" value="4. use of the X-User header to proxy authentication to Apache James" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="410" y="430" width="210" height="70" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-15" value="LDAP" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"><mxGeometry x="600" y="80" width="140" height="140" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-16" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="TRxEg24sL5Zt3rOSAXKO-5" target="TRxEg24sL5Zt3rOSAXKO-15" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="400" y="310" as="sourcePoint"/><mxPoint x="450" y="260" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-17" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="TRxEg24sL5Zt3rOSAXKO-4" target="TRxEg24sL5Zt3rOSAXKO-15" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="400" y="310" as="sourcePoint"/><mxPoint x="450" y="260" as="targetPoint"/></mxGeometry></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-18" value="Verify credentials" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="490" y="110" width="60" height="30" as="geometry"/></mxCell><mxCell id="TRxEg24sL5Zt3rOSAXKO-19" value="List users,<br>Verify that user exists" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="590" y="260" width="60" height="30" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile> |