You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by "Michael Jumper (JIRA)" <ji...@apache.org> on 2017/04/29 19:49:04 UTC

[jira] [Commented] (GUACAMOLE-289) Add support for declaring REST services within extensions

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

Michael Jumper commented on GUACAMOLE-289:
------------------------------------------

In the current WIP, I've added a {{getResource()}} function to {{UserContext}} (inherently requires authentication) and {{AuthenticationProvider}} (does not require authentication). If the extension does not return null for either of these, then corresponding REST resources are exposed.

|| Class || Authenticated? || URL ||
| {{UserContext}} | Yes (implicitly) | {{.../api/session/data/IDENTIFIER/ext/}} |
| {{AuthenticationProvider}} | No | {{.../api/ext/IDENTIFIER/}} |

where {{IDENTIFIER}} is the identifier of the {{AuthenticationProvider}}.

Essentially, a new REST service has been added at {{.../api/ext/}} which provides access to the unauthenticated REST resource exposed by each {{AuthenticationProvider}}, and the existing REST resource at {{.../api/session/data/IDENTIFIER/}} has been modified to additionally expose the REST resource from the {{UserContext}} at {{ext}}.

There is probably room for improvement here in the naming.

> Add support for declaring REST services within extensions
> ---------------------------------------------------------
>
>                 Key: GUACAMOLE-289
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-289
>             Project: Guacamole
>          Issue Type: New Feature
>          Components: guacamole, guacamole-ext
>            Reporter: Michael Jumper
>            Assignee: Michael Jumper
>
> Though Guacamole extensions can modify JavaScript, HTML, expose static resources, etc., they are not able to expose custom REST services. This limits the ability of extensions to provide functionality which depends on services unrelated to maintenance of users or connections, as well as functionality which may not currently be covered by the extension API.
> Extensions should be able to:
> # Expose REST resources/services which do not require authentication
> # Expose REST resources/services which *do* require authentication (require an associated auth token)



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