[
https://issues.apache.org/jira/browse/GUACAMOLE-1094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Couchman updated GUACAMOLE-1094:
-------------------------------------
Issue Type: Improvement (was: Bug)
> Allow override of response_type parameter value
> -----------------------------------------------
>
> Key: GUACAMOLE-1094
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-1094
> Project: Guacamole
> Issue Type: Improvement
> Components: guacamole-auth-openid
> Affects Versions: 1.1.0
> Reporter: Ryan Lapchynski
> Priority: Trivial
> Labels: AWS, patch, ready-to-commit
>
> The OpenID Connect auth extension supports only the ["implicit"
> flow|[https://openid.net/specs/openid-connect-implicit-1_0.html#RequestParameters]],
> and currently
> [hard-codes|https://github.com/apache/guacamole-client/blob/4fec4638fc8652b684eea069e9ee9fe423615bfa/extensions/guacamole-auth-openid/src/main/java/org/apache/guacamole/auth/openid/form/TokenField.java#L80]
> the value of the "response_type" parameter as "id_token". According to the
> [OIDC spec|[https://openid.net/specs/openid-connect-core-1_0.html#IDToken]],
> the authentication server should return the user with an ID token but in some
> auth server implementations, other values of this parameter are required and
> they will not work otherwise, but still return the necessary information (the
> user's ID token in the id_token parameter) when given their required value.
> My particular use case involves authenticating against AWS Cognito. If the
> Cognito IdP receives a request with "response_type=id_token" rather than
> returning a sign-in page and authenticating the user, it returns a page
> showing just an "invalid request" error message. If instead
> "response_type=token" is used, authentication works as expected. In the
> [Cognito
> documentation|[https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html]]
> it is stated that "response_type must be {{code}} or {{token}}".
> I've only tested and confirmed that this is an issue with AWS Cognito, but
> according to the documentation for the OIDC identity providers on a couple
> other major cloud providers:
> GCP's Identity Platform [seems to
> require|[https://developers.google.com/identity/protocols/oauth2/openid-connect#response-type]]
> response_type to be "token id_token" or "id_token token"
> Azure's Microsoft Identity Platform
> [requires|[https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow]]
> response_type to be "id_token" or "id_token token"
>
> I'm submitting a PR that adds an optional guacamole.properties string
> parameter for the OpenID auth extension that allows overriding the default
> value of response_type. The default value is "id_token", so the behavior
> remains unchanged if the override parameter is left unspecified.
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)