temporalio / temporalio/ui

Settings for access to the Temporary UI by email with SSO

Open
#2,608 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hello!
My task is to ensure that temporal-ui is accessible only to one user with the email landroverstudio@gmail.com.
I tried the following configuration in docker-compose.yml:

  temporal-ui:
    image: temporalio/ui:2.20.0
    container_name: "moysklad-py-v1_temporal-ui"
    restart: unless-stopped
    environment:
      - TEMPORAL_ADDRESS=temporal:7233
      - TEMPORAL_CORS_ORIGINS=http://localhost:8088
      - TEMPORAL_AUTH_ENABLED=true
      - TEMPORAL_UI_AUTH_REQUIRED=true
      - TEMPORAL_AUTH_PROVIDER_URL=https://accounts.google.com
      - TEMPORAL_AUTH_ISSUER_URL=https://accounts.google.com
      - TEMPORAL_AUTH_CLIENT_ID=${TEMPORAL_AUTH_CLIENT_ID}
      - TEMPORAL_AUTH_CLIENT_SECRET=${TEMPORAL_AUTH_CLIENT_SECRET}
      - TEMPORAL_AUTH_CALLBACK_URL=http://localhost:8088/auth/sso/callback
      - TEMPORAL_AUTH_SCOPES=openid profile email
      - TEMPORAL_UI_AUTH_ALLOWED_EMAILS=landroverstudio@gmail.com
    ports:
      - "8088:8080"
    depends_on:
      - temporal
    networks:
      - app

With this configuration, when trying to log in with a different user, it indeed returns to the login page with an "unauthorized" error.

Image

But! If after a failed login I navigate to the workflow page (http://localhost:8088/namespaces/default/workflows) - it allows access there. The expected behavior is to return to the login page with an "unauthorized" error.

Image

I tried changing the version to temporalio/ui:2.36.0, but in that case, it doesn't even return to the page with "unauthorized" during login, but simply allows any authenticated user inside.

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

Reproduce the behavior using the shown docker-compose.yml settings, the Google SSO callback, and the workflow URL /namespaces/default/workflows on the affected UI versions. Trace the login and protected workflow-page entry points; done means an unauthorized user is consistently returned to the login page and cannot access workflows.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.