temporalio / temporalio/ui

Improve OIDC support/compatibility

Open
#1,376 0 comments 1 reaction 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 the ui server is to limited in the OIDC support it offers, preventing it to be used with some OIDC providers.
The code has hardcoded defaults that breaks support with some providers.

Describe the solution you'd like

I would like new configuration values to support setting these values in the auth/oidc.go source file at line 80:

oidcConfig := &oidc.Config{
ClientID: config.ClientID,
SkipIssuerCheck: true,
SkipClientIDCheck: true,
SupportedSigningAlgs: []string{"ES256", "RS256"},
}

This example uses hardcoded values too, and the solution should off cause add config and ENV values for setting the value of:

  • SkipIssuerCheck (default false)
  • SkipClientIDCheck (default false)
  • SupportedSigningAlgs (current default is ES256, I believe)
  • skip nonce verification (default false)

the nonce value was introduced in specs for OIDC v 2.0, and older OIDC providers may not support nonce, hence the enforcement of the nonce values should be configurable.

Describe alternatives you've considered

We have made our own build of the temporal-ui server to overcome these limitations, but would like to use the stock docker image

Additional context

.

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 auth/oidc.go around the oidc.Config construction at line 80, then trace how existing configuration and environment values reach it. Done means SkipIssuerCheck, SkipClientIDCheck, SupportedSigningAlgs, and nonce verification can be configured with the requested false defaults and current signing-algorithm behavior preserved.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.