Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSO support for non-jwt access tokens, pass id token instead #2365

Open
sjones4 opened this issue Oct 3, 2024 · 0 comments
Open

SSO support for non-jwt access tokens, pass id token instead #2365

sjones4 opened this issue Oct 3, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@sjones4
Copy link

sjones4 commented Oct 3, 2024

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

SSO auth sends the access token to temporal not the id token as the Bearer in the Authorization header.

The id token is also sent in the Authorization-Extras header.

Some OIDC providers use non-jwt access tokens which cause authorization in temporal to fail with an error such as "token contains an invalid number of segments".

Describe the solution you'd like

Add an option to pass the id token to temporal in the authorization header.

This could be implemented as an option such as TEMPORAL_AUTH_ID_TOKEN_AS_BEARER=true, etc.

Describe alternatives you've considered

I was testing this with Hashicorp Vault as the OIDC provider, which returns a non-jwt token for the access token.

I verified that the id token that is sent in the Authorization-Extras header works as the bearer token by using an nginx proxy to rewrite the request from the ui to temporal:

ui --> nginx --> temporal

which changed headers:

Authorization-Extras: SOMEVALUE --> Authorization: Bearer SOMEVALUE

and resulted in successful authentication.

@sjones4 sjones4 added the enhancement New feature or request label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant