On Wed, Nov 27, 2019 at 11:02 PM Umesh Bhatt <[email protected]> wrote:

> Hi,
>
>
>
> I am using custom authentication provider without DB. Now I want to share
> the created connection with others, can it be done?
>

Yes. Even the database implementation is an authentication provider which
leverages the same API. None of the extensions that are part of
guacamole-client use anything that a third-party extension cannot use in
exactly the same way.

The part of the API that deals with sharing connections with others is
pretty abstract. The database implementation uses a link containing a query
parameter, but you can do just about anything here. It's really up to you
to decide how things will be shared. The extension API conceptualizes this
using credentials specific to sharing. Combined with sharing profiles, this
mainly allows you to expose the ability to share the connection such that
choices for sharing will be available in that "Share" menu within the
Guacamole menu:

http://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/Shareable.html

The technical capability to share an active connection is independent of
the above. Internally, all that matters is that you pull the ID generated
by guacd for the connection to be shared, and provide that ID (rather than
a protocol name) when connecting as a user sharing that connection. That's
all you need to do for that second connection to join the first. Regardless
of whether you use sharing credentials, the share menu, etc., it's the use
of that ID that causes the underlying connection to be a shared connection.

http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.html#getConnectionID--
http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/GuacamoleConfiguration.html#setConnectionID-java.lang.String-

Note that this ID has nothing to do with database IDs or the more generic
concept of identifiers in the extension API. It's purely a Guacamole
protocol concept, used by guacd to uniquely identify active connections so
they can be joined. You can see this covered briefly here:

http://guacamole.apache.org/doc/gug/guacamole-protocol.html#guacamole-protocol-handshake

- Mike

Reply via email to