temporalio / temporalio/ui

404 Error when using Auth

Open
#2,584 6 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug
I'm running temporal UI as a docker container. I've configured it to use Clerk as Auth provider.
Unfortunately right after starting the web server crashes with 404 error.

To Reproduce
Steps to reproduce the behavior:

  1. start the container with env variables set
  2. see it crashed
TEMPORAL_AUTH_ENABLED="true"
TEMPORAL_AUTH_TYPE="oidc"
TEMPORAL_AUTH_PROVIDER_TYPE="oidc"
TEMPORAL_AUTH_PROVIDER_URL="https://XXXXXXaccounts.dev/.well-known/openid-configuration"
#TEMPORAL_AUTH_ISSUER_URL="https://XXXXXXXX.clerk.accounts.dev"
TEMPORAL_AUTH_CLIENT_ID="XXXXX"
TEMPORAL_AUTH_CLIENT_SECRET="XXXXXXXXXX"
TEMPORAL_AUTH_CALLBACK_URL="http://localhost:8233/auth/sso/callback"
TEMPORAL_AUTH_SCOPES="openid,email,profile"
2025/03/05 14:26:29 Loading config; env=docker,configDir=config
2025/03/05 14:26:29 Loading config files=[config/docker.yaml]
2025/03/05 14:26:29 Loading config; env=docker,configDir=config
2025/03/05 14:26:29 Loading config files=[config/docker.yaml]
2025/03/05 14:26:30 404 Not Found: 404 page not found

Expected behavior

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: OS X
  • Browser chrome
  • Version 2.36.0

Additional context
config/docker.yaml

temporalGrpcAddress: localhost:7233
port: 8233
publicPath:
enableUi: true
bannerText:
cloudUi: false
defaultNamespace: default
feedbackUrl:
notifyOnNewVersion: true
refreshInterval: 0s
showTemporalSystemNamespace:
  false
disableWriteActions: false
workflowTerminateDisabled: false
workflowCancelDisabled: false
workflowSignalDisabled: false
workflowUpdateDisabled: false
workflowResetDisabled: false
batchActionsDisabled: false
startWorkflowDisabled: false
hideWorkflowQueryErrors: false
refreshWorkflowCountsDisabled: false
cors:
  cookieInsecure: true
  allowOrigins:
    # override framework's default that allows all origins "*"
    - localhost
tls:
  caFile:
  certFile:
  keyFile:
  caData:
  certData:
  keyData:
  enableHostVerification: false
  serverName:
auth:
  enabled: true
  providers:
  - label: sso
    type: oidc
    providerUrl: https://AAAAAAAA.accounts.dev/.well-known/openid-configuration
    issuerUrl:
    clientId: XXXXXXXXXX
    clientSecret: XXXXXXXXXXXX
    callbackUrl: http://localhost:8233/auth/sso/callback
    scopes:
      - openid
      - email
      - profile
codec:
  endpoint:
  passAccessToken: false
  includeCredentials: false

forwardHeaders:
  - Authorization
  - Cookie
  - X-Csrf-Token

hideLogs: false

logs:

/home/ui-server # ./start-ui-server.sh
2025/03/05 14:26:29 Loading config; env=docker,configDir=config
2025/03/05 14:26:29 Loading config files=[config/docker.yaml]
2025/03/05 14:26:29 Loading config; env=docker,configDir=config
2025/03/05 14:26:29 Loading config files=[config/docker.yaml]
2025/03/05 14:26:30 404 Not Found: 404 page not found

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 with config/docker.yaml and start-ui-server.sh, then reproduce the startup using the documented Clerk OIDC environment variables and configuration. Trace the 404 reported immediately after the server loads its configuration. Done means the Docker container starts successfully with this authentication setup instead of exiting with a 404.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
authentication
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.