Skip to content

Looking Glass

Looking Glass is the primary interface for executing protocol flows. It shows every step of a flow as it happens, with full payload visibility via WebSocket event streaming.

  1. Select a protocol and flow from the sidebar.
  2. Enter required inputs (varies by flow — could be a client ID, subject, callback URL, or tx_code).
  3. Execute the flow.
  4. Watch each step render in real time as the backend emits events.
  5. Click any step to inspect full request/response payloads, tokens, and validation results.

Each flow execution produces a timeline of events:

Event TypeWhat It Shows
flow.stepMajor protocol steps (authorization request sent, token exchanged, assertion delivered)
token.issuedToken creation with decoded claims
token.validatedToken validation results with pass/fail details
request.sentOutbound HTTP requests with headers and body
response.receivedHTTP responses with status, headers, and body
http.exchangeComplete request/response pairs
security.warningValidation failures, missing parameters, spec violations
security.infoSuccessful security checks and confirmations
crypto.operationKey generation, signing, hash verification

Every event includes an annotation with RFC references (for example “RFC 6749 Section 4.1”) and security context explaining what the step does and why.

Looking Glass supports shareable deep-links in the format /looking-glass?protocol=X&flow=Y. These links are generated by the palette search (cmd+K) and the Share button in the flow toolbar.

URL query parameters follow a consume-and-clear lifecycle:

  • When a deep-link is opened, the ?protocol= and ?flow= params are read and applied, then removed from the address bar.
  • Changing protocol or flow via the UI dropdowns updates the URL to reflect the new selection.
  • Resetting or clearing the flow strips query params entirely.
  • Navigating away from Looking Glass always results in a clean URL on return.

When a flow is selected, three icon buttons appear next to the protocol/flow dropdowns:

ControlWhat It Does
ResetResets the current flow execution to its initial state and clears the URL
ShareCopies a shareable deep-link for the current protocol and flow to the clipboard
ClearClears all selections (protocol, flow, tokens, configuration), resets every input field, and strips query params from the URL

Each flow execution creates a Looking Glass session. Sessions are linked to backend processing via:

  • The X-Looking-Glass-Session HTTP header
  • The lg_session query parameter (used for redirects where headers cannot be set)

You can list active sessions at GET /api/lookingglass/sessions and retrieve a specific session at GET /api/lookingglass/sessions/{id}.

The built-in token decoder is available at POST /api/lookingglass/decode. It handles:

  • JWT access tokens and ID tokens
  • SAML assertions
  • Security Event Tokens (SETs)
  • X.509 certificates

SSF flows use a dedicated sandbox experience instead of the standard Looking Glass timeline. The SSF sandbox provides:

  • Stream configuration and management
  • CAEP/RISC event transmission and delivery
  • Receiver status monitoring with real event processing
  • Response action execution and security state tracking

Use Looking Glass for all other protocol families.