temporalio / temporalio/ui

[Feature Request] Support OAuth/OIDC response_mode=form_post for callback responses

Open
#3,533 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
431
Forks
179
Avg merge
2d 9h
Merged PRs (30d)
71

Description

Is your feature request related to a problem? Please describe.

Currently, Temporal Web UI only supports the standard OAuth/OIDC authorization code flow with query parameter callback responses. Supporting response_mode=form_post would align with OIDC best practices and security recommendations.

Form Post Response Mode is a security best practice that prevents sensitive authentication data (sessionid, tokens, state parameters) from appearing in URLs, server logs, and browser history. We have a self-hosted Temporal Web UI integrated with Azure Entra ID (Azure AD) for authentication, which is working correctly, but the sessionid is currently returned in the query string.

As of today, there is no environment variable or configuration option to specify the OAuth response mode (as confirmed against the Web UI environment variables and Web UI configuration documentation).

Describe the solution you'd like

Add support for configurable OAuth/OIDC response mode through:

  1. New environment variable: TEMPORAL_OAUTH_RESPONSE_MODE (with default value query for backward compatibility)

    • Supported values: query, form_post
  2. Alternative approach: Add a new configuration option in the Web UI server to set the response mode

Describe alternatives you've considered

  • Reverse proxy/API gateway approach: Limited applicability because response_mode must be specified at the authorization request, not at the callback layer. A proxy cannot transform an existing query-parameter response into form_post retroactively.

Additional context

Current Behavior:

OAuth callback response: /auth/callback?session=abc123&state=xyz

Desired Behavior:

OAuth callback response via POST with form data:

session=abc123
state=xyz

Environment Details:

This feature would enable organizations to follow OIDC security best practices without requiring additional proxy layers or workarounds.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the Web UI server configuration and OAuth callback handling for /auth/callback, then trace how the authorization request currently selects query responses. Add configurable query and form_post behavior while preserving the default, and verify that form data is accepted at the callback without breaking the existing query flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.