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

[Go][Hydra] client library error when decoding GetLoginRequest response that contains oidc context #227

Open
3 of 6 tasks
jagobagascon opened this issue Nov 14, 2022 · 0 comments
Labels
bug Something is not working.

Comments

@jagobagascon
Copy link

Preflight checklist

Describe the bug

Some of our requests to the /admin/oauth2/auth/requests/login endpoint are returning an unmarshal error after upgrading to 1.11.8.

After some debugging I found out that it fails every time Hydra returns a non-empty oidc_context. id_token_hint_claims field. According to the spec this field should be an object that contains any kind of field. But the model is defined as follows:

IdTokenHintClaims map[string]map[string]interface{} `json:"id_token_hint_claims,omitempty"`

Reproducing the bug

Since this is a serialization issue I would say there are lots of ways of reproducing this.

We are using the PKCE flow in several apps. And we wanted to mimic the prompt=select_account behaviour. For that we are using the prompt=login parameter to send users to the login screen (ory/hydra#1943). This allows our users to easily switch accounts, but this also makes the oidc_context.id_token_hint_claims to be filled.

  1. Log in with a user: goes back to app with a valid token. ✅
  2. Log in with another user: goes back to app with a valid token. ✅
  3. Refresh the screen: this error happens. ❌

Relevant log output

json: cannot unmarshal string into Go struct field OpenIDConnectContext.oidc_context.id_token_hint_claims of type map[string]interface {}

Relevant configuration

No response

Version

1.11.8

On which operating system are you observing this issue?

macOS

In which environment are you deploying?

Docker

Additional Context

No response

@jagobagascon jagobagascon added the bug Something is not working. label Nov 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is not working.
Projects
None yet
Development

No branches or pull requests

1 participant