On Tue, Feb 27, 2024 at 9:53 AM ITS SkillsUSA <[email protected]> wrote:
> Hi There > > I had a question about the order of authentication providers in > guacamole-client. I have been using the official docker container with the > postgresql authentication extension for years, and it has been quite > stable. I developed some API programs outside the container and was able to > call them using postgres as my datasource (ie > /guacamole/api/session/data/postgres/...) This has worked well. > > I then decided I wanted to add my own guacamole-ext to do some light css > theming. I created my own extension (named rfoo). This broke all of my API > calls, as the datasource needed to be updated to rfoo. (ie > /guacamole/api/session/data/rfoo/...) I then spent some time trying every > permutation of EXTENSION_PRIORITY, but was unable to get the API url to > change back to postgres. > > My questions: > > 1. Even though I'm just doing css changes, is the guacamole-ext / > authentication provider the best way to accomplish this? > For CSS changes, you do need guacamole-ext, and a Guacamole Extension; however, you need not implement an authentication provider class unless you're doing some sort of integration between the authentication provider and the CSS - like a custom attribute that controls the CSS in some way. If all you're doing is changing the look and feel of the Guacamole Client web application through CSS, you just need the guac-manifest.json file and the actual CSS files. No need for any Java classes at all. Also, none of those things should change anything about the API or how you interact with data sources. > 2. Is there a way to specify which authentication provider can be used in > the API url, or better yet just generically send the API calls without a > datasource? > > That depends on what you're trying to do. If you're doing things like creating and deleting connections, connection groups, users, and/or user groups, you have to specify a data source, since all of those things happen within the context of the data source. Perhaps you could share what errors you're seeing, or how those API calls "broke" after you added your extension? -Nick
