common data flow
OpenID Connect login application
This view opens the common folder one level deeper. Each arrow shows the called operation and the data it returns to its caller. Calls inside a file stay in that file’s sequence view.
client calls
Mermaid source
flowchart TD
n0["client"]
n1["headers"]
n2["keys"]
n3["settings"]
n4["views"]
n0 -->|"securityHeaders / withCookie(headers, name, …) → Headers"| n1
n0 -->|"SigningKeys.session → RsaPrivateKey"| n2
n0 -->|"settings → Settings"| n3
n0 -->|"Page(title, children) → Html"| n4
Startup calls
Mermaid source
flowchart TD
n0["keys"]
n1["Startup"]
n1 -->|"initializeKeys"| n0
provider calls
Mermaid source
flowchart TD
n0["headers"]
n1["keys"]
n2["settings"]
n3["views"]
n4["provider"]
n4 -->|"securityHeaders / withCookie(headers, name, …) → Headers"| n0
n4 -->|"SigningKeys.provider → RsaPrivateKey"| n1
n4 -->|"settings → Settings"| n2
n4 -->|"Page(title, children) → Html"| n3
Package boundaries
headers package calls
Mermaid source
flowchart LR
n0["headers"]
n1["web"]
n0 -->|"cookie(name, value, …) → Headers"| n1
keys package calls
Mermaid source
flowchart LR
n0["keys"]
n1["crypto"]
n0 -->|"Crypto.generateRsa → RsaPrivateKey"| n1
Follow the data
Each row opens the complete operations and call sites behind one pair of logical units. A grouped arrow records calls between those units; connected arrows need not belong to the same execution path.
| From | To | Operations | Read |
|---|---|---|---|
| client | headers | 2 | Inputs, results and call sites |
| client | keys | 1 | Inputs, results and call sites |
| client | settings | 1 | Inputs, results and call sites |
| client | views | 1 | Inputs, results and call sites |
| headers | web | 1 | Inputs, results and call sites |
| keys | crypto | 1 | Inputs, results and call sites |
| Startup | keys | 1 | Inputs, results and call sites |
| provider | headers | 2 | Inputs, results and call sites |
| provider | keys | 1 | Inputs, results and call sites |
| provider | settings | 1 | Inputs, results and call sites |
| provider | views | 1 | Inputs, results and call sites |
Data crossing these boundaries (13 contracts)
client → headers
2 operations, 10 sites
No caller-supplied inputs. Result: Headers.
| Caller or entry | Evidence |
|---|---|
| home | Call site · Caller explanation |
| home | Call site · Caller explanation |
| me | Call site · Caller explanation |
| startLogin | Call site · Caller explanation |
| loginCallback | Call site · Caller explanation |
| logout | Call site · Caller explanation |
Inputs: headers: Headers, name: string, value: string, path: string, maxAge: int, secure: bool. Result: Headers.
| Caller or entry | Evidence |
|---|---|
| startLogin | Call site · Caller explanation |
| loginCallback | Call site · Caller explanation |
| loginCallback | Call site · Caller explanation |
| logout | Call site · Caller explanation |
client → keys
1 operation, 2 sites
SigningKeys.session · interface dispatch
No caller-supplied inputs. Result: RsaPrivateKey.
| Caller or entry | Evidence |
|---|---|
| loginCallback | Call site · Caller explanation |
| authenticate | Call site · Caller explanation |
client → settings
1 operation, 7 sites
No caller-supplied inputs. Result: Settings.
| Caller or entry | Evidence |
|---|---|
| startLogin | Call site · Caller explanation |
| loginCallback | Call site · Caller explanation |
| logout | Call site · Caller explanation |
| discover | Call site · Caller explanation |
| validateIdentity | Call site · Caller explanation |
| test validateIdentity | Call site · Caller explanation |
| authenticate | Call site · Caller explanation |
client → views
1 operation, 2 sites
Inputs: title: string, children: List<Html>. Result: Html.
| Caller or entry | Evidence |
|---|---|
| LoginPage | Call site · Caller explanation |
| Welcome | Call site · Caller explanation |
headers → web
1 operation, 1 site
Inputs: name: string, value: string, path: string, maxAge: int, secure: bool. Result: Headers.
| Caller or entry | Evidence |
|---|---|
| withCookie | Call site · Caller explanation |
keys → crypto
1 operation, 2 sites
Crypto.generateRsa · interface dispatch
No caller-supplied inputs. Result: RsaPrivateKey.
| Caller or entry | Evidence |
|---|---|
| initializeKeys | Call site · Caller explanation |
| initializeKeys | Call site · Caller explanation |
Startup → keys
1 operation, 1 site
No caller-supplied inputs. Result: void.
| Caller or entry | Evidence |
|---|---|
| Startup | Call site · Caller explanation |
provider → headers
2 operations, 14 sites
No caller-supplied inputs. Result: Headers.
| Caller or entry | Evidence |
|---|---|
| authorize | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| _oauthError | Call site · Caller explanation |
| token | Call site · Caller explanation |
| userinfo | Call site · Caller explanation |
| userinfo | Call site · Caller explanation |
Inputs: headers: Headers, name: string, value: string, path: string, maxAge: int, secure: bool. Result: Headers.
| Caller or entry | Evidence |
|---|---|
| authorize | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
provider → keys
1 operation, 2 sites
SigningKeys.provider · interface dispatch
No caller-supplied inputs. Result: RsaPrivateKey.
| Caller or entry | Evidence |
|---|---|
| jwks | Call site · Caller explanation |
| token | Call site · Caller explanation |
provider → settings
1 operation, 4 sites
No caller-supplied inputs. Result: Settings.
| Caller or entry | Evidence |
|---|---|
| authorize | Call site · Caller explanation |
| providerLogin | Call site · Caller explanation |
| discovery | Call site · Caller explanation |
| token | Call site · Caller explanation |
provider → views
1 operation, 2 sites
Inputs: title: string, children: List<Html>. Result: Html.
| Caller or entry | Evidence |
|---|---|
| ProviderLogin | Call site · Caller explanation |
| ProviderFailure | Call site · Caller explanation |
What this folder exposes
Exports
Export the declaration Settings from settings.aug. Export the declaration settings from settings.aug. Export the declaration SigningKeys from keys.aug. Export the declaration MemorySigningKeys from keys.aug.
Export the declaration initializeKeys from keys.aug. Export the declaration KeyError from keys.aug. Export the declaration Page from views.aug. Export the declaration securityHeaders from headers.aug.
Export the declaration withCookie from headers.aug.
Files in this folder
| Module | Read |
|---|---|
| common/export.aug | Flow and sequences · Explanation |
| common/headers.aug | Flow and sequences · Explanation |
| common/keys.aug | Flow and sequences · Explanation |
| common/settings.aug | Flow and sequences · Explanation |
| common/views.aug | Flow and sequences · Explanation |