[ 
https://issues.apache.org/jira/browse/QPID-7801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16035323#comment-16035323
 ] 

Alex Rudyy commented on QPID-7801:
----------------------------------

Rob, I reviewed the changes made against this JIRA and here are my review 
comments:
* Substitution of virtualhost
Creation of OAuth2 authentication provider with URIs containing 
{{$\{virtualhost\}}} fails with {{IllgalArgumentException}} as below
{noformat}
422 - Cannot convert 
'http://localhost:8080/auth/realms/${virtualhost}/protocol/openid-connect/userinfo'
 into a URI for attribute tokenEndpointURI (Illegal character in path at index 
35: 
http://localhost:8080/auth/realms/${virtualhost}/protocol/openid-connect/userinfo)
{noformat}
Encoding of illegal characters does not help in this case, as after encoding 
the encoded value is not decoded before expanding the URI string. Perhaps, URI 
attribute types should be changed to String to have this working. Am I doing 
something wrong?
* {{KeycloakOAuth2IdentityResolverService}}
When OAuth2 auth provider is attempted to create with 
{{KeycloakOAuth2IdentityResolverService}} without setting URI attributes and 
context variables {{$\{keycloak.baseUrl\}}} and {{$\{keycloak.domain\}}}, the 
error reported by the Broker is not user friendly and it could be unclear how 
to fix the problem. Here is an example of such error message
{noformat}
422 - Cannot convert '${this:defaultIdentityResolverEndpointURI}' into a URI 
for attribute identityResolverEndpointURI (Illegal character in scheme name at 
index 0: ${this:defaultIdentityResolverEndpointURI})
{noformat}
Perhaps {{KeycloakOAuth2IdentityResolverService}} should throw user friendly 
exception from its method {{KeycloakOAuth2IdentityResolverService#validate}} in 
this case.
* AMQP connection authentication
{{SubjectCreator}} is created in a constructor of {{AMQPConnection_1_0Impl}}. 
As result, virtual host can only be set in {{SubjectCreator}} via {{SNI}} only. 
Potentially, the implementation can be changed to create {{SubjectCreator}} in 
{{#receiveSaslInit()}} and virtual host can be taken from {{"sasl-init"}} 
performative in addition to {{SNI}}. That would allow to use virtual host 
substitution with {{SASL}} without TLS.

> [Java Broker] Allow variable substitution of virtualhost in OAuth2 resolver 
> URIs 
> ---------------------------------------------------------------------------------
>
>                 Key: QPID-7801
>                 URL: https://issues.apache.org/jira/browse/QPID-7801
>             Project: Qpid
>          Issue Type: Improvement
>            Reporter: Rob Godfrey
>            Assignee: Rob Godfrey
>
> Allow substitution of address space (based on resolution of SNI / HTTPS HOST 
> to vhost) in OAuth2 resolver URIs (to allow per vhost configuration).  Add 
> keycloak provider



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to