TimothyJones/github-openid-wrapper

View on GitHub
docs/openid-flow.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="656" height="586" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[Client->OpenID Connect: Authenticate\n(to get profile)
Note right of OpenID Connect: OpenID Connect server\nmay do authorisation here
OpenID Connect->Client: Authentication Code
Client-->OpenID Connect: Authentication Code
Note right of OpenID Connect: Token endpoint uses the code\nto get an access token\n and an ID token
OpenID Connect-->Client: Tokens
Client-->OpenID Connect: Access token
OpenID Connect-->Client: User information]]></source><desc></desc><defs><marker viewBox="0 0 5 5" markerWidth="5" markerHeight="5" orient="auto" refX="5" refY="2.5" id="markerArrowBlock"><path d="M 0 0 L 5 2.5 L 0 5 z"></path></marker><marker viewBox="0 0 9.6 16" markerWidth="4" markerHeight="16" orient="auto" refX="9.6" refY="8" id="markerArrowOpen"><path d="M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"></path></marker></defs><g class="title"></g><g class="actor"><path d="M10,20C43.0,22.9 70.0,17.1 81.4,20.0C79.7,56.1 83.1,52.7 81.4,63.0C64.3,65.9 66.1,60.1 10.0,63.0C8.3,36.5 11.7,52.9 10.0,20.0" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="20" y="44" style="font-size: 16px; font-family: danielbd;"><tspan x="20">Client</tspan></text></g><g class="actor"><path d="M10,523.765625C34.2,526.6 27.1,520.9 81.4,523.8C79.7,559.9 83.1,552.2 81.4,566.8C63.5,569.6 55.8,563.9 10.0,566.8C11.7,547.5 8.3,530.6 10.0,523.8" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="20" y="547.765625" style="font-size: 16px; font-family: danielbd;"><tspan x="20">Client</tspan></text></g><path d="M45.7,63.0C64.1,382.3 27.3,406.2 45.7,523.8" stroke="#000000" fill="none" style="stroke-width: 2;"></path><g class="actor"><path d="M158.8203125,20C206.9,26.5 206.2,13.5 322.5,20.0C324.2,30.6 320.8,41.0 322.5,63.0C198.1,69.5 185.0,56.5 158.8,63.0C160.5,47.8 157.1,30.3 158.8,20.0" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="168.8203125" y="44" style="font-size: 16px; font-family: danielbd;"><tspan x="168.8203125">OpenID Connect</tspan></text></g><g class="actor"><path d="M158.8203125,523.765625C198.1,517.2 185.0,530.3 322.5,523.8C324.2,559.9 320.8,556.4 322.5,566.8C185.0,573.3 296.3,560.2 158.8,566.8C157.1,552.4 160.5,541.5 158.8,523.8" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="168.8203125" y="547.765625" style="font-size: 16px; font-family: danielbd;"><tspan x="168.8203125">OpenID Connect</tspan></text></g><path d="M240.7,63.0C222.2,259.0 259.1,136.7 240.7,523.8" stroke="#000000" fill="none" style="stroke-width: 2;"></path><g class="signal"><text x="79.2734375" y="80.90625" style="font-size: 16px; font-family: danielbd;"><tspan x="79.2734375">Authenticate</tspan><tspan dy="1.2em" x="79.2734375">(to get profile)</tspan></text><path d="M45.7,125.2C155.8,133.0 92.5,117.4 240.7,125.2" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g><g class="note"><path d="M260.6640625,145.1875C298.8,135.7 435.7,154.7 498.9,145.2C496.8,189.0 501.0,184.7 498.9,197.4C441.7,187.8 322.1,206.9 260.7,197.4C262.8,169.1 258.6,158.0 260.7,145.2" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="265.6640625" y="164.1875" style="font-size: 16px; font-family: danielbd;"><tspan x="265.6640625">OpenID Connect server</tspan><tspan dy="1.2em" x="265.6640625">may do authorisation here</tspan></text></g><g class="signal"><text x="55.7109375" y="224.875" style="font-size: 16px; font-family: danielbd;"><tspan x="55.7109375">Authentication Code</tspan></text><path d="M240.7,240.4C76.9,232.6 202.1,248.2 45.7,240.4" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g><g class="signal"><text x="55.7109375" y="267.875" style="font-size: 16px; font-family: danielbd;"><tspan x="55.7109375">Authentication Code</tspan></text><path d="M45.7,283.4C178.4,291.2 92.5,275.6 240.7,283.4" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g><g class="note"><path d="M260.6640625,303.375C379.8,292.8 461.0,313.9 524.3,303.4C521.4,322.4 527.2,362.4 524.3,374.8C323.9,364.2 314.7,385.3 260.7,374.8C263.5,341.5 257.8,331.2 260.7,303.4" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></path><text x="265.9453125" y="322.375" style="font-size: 16px; font-family: danielbd;"><tspan x="265.6640625">Token endpoint uses the code</tspan><tspan dy="1.2em" x="265.6640625">to get an access token</tspan><tspan dy="1.2em" x="265.6640625">and an ID token</tspan></text></g><g class="signal"><text x="114.34375" y="402.265625" style="font-size: 16px; font-family: danielbd;"><tspan x="114.34375">Tokens</tspan></text><path d="M240.7,417.8C209.5,410.0 88.8,425.6 45.7,417.8" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g><g class="signal"><text x="88.78125" y="445.265625" style="font-size: 16px; font-family: danielbd;"><tspan x="88.78125">Access token</tspan></text><path d="M45.7,460.8C186.5,468.6 209.5,453.0 240.7,460.8" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g><g class="signal"><text x="68.5625" y="488.265625" style="font-size: 16px; font-family: danielbd;"><tspan x="68.5625">User information</tspan></text><path d="M240.7,503.8C190.5,511.6 126.2,496.0 45.7,503.8" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></path></g></svg>