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

Nick Couchman commented on GUACAMOLE-210:
-----------------------------------------

I'll throw a suggestion out there - maybe it makes sense to combine all of 
these requests into a single "SSO" module (guacamole-auth-sso)?  SAML and 
OAuth2 have been requested, and I implemented a CAS module, and I would guess 
that there is going to be enough overlap that we could probably have a single 
module responsible for all SSO-type functionality that then implements a 
handful of different classes for the specific protocols.  It would also allow 
for easy expansion later on.

Thoughts?

> OAuth2 authentication plugin
> ----------------------------
>
>                 Key: GUACAMOLE-210
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-210
>             Project: Guacamole
>          Issue Type: New Feature
>          Components: guacamole-client
>            Reporter: Michael Jumper
>            Assignee: Michael Jumper
>
> {panel:bgColor=#FFFFEE}
> *The description of this issue was copied from 
> [GUAC-1485|https://glyptodon.org/jira/browse/GUAC-1485], an issue in the JIRA 
> instance used by the Guacamole project prior to its acceptance into the 
> Apache Incubator.*
> Comments, attachments, related issues, and history from prior to acceptance 
> *have not been copied* and can be found instead at the original issue.
> {panel}
> It would be nice if Guacamole had OAuth2 authentication plugin.
> OAuth2 is wide spread in web technologies and Guacamole deserves to have its 
> implementation of the protocol.
> My company had this use case and for now we are using a custom authentication 
> plugin because implementing a generic OAuth2 compatible Guacamole 
> authentication plugin presents some difficulties.
> h1. RedirectURI doesn't work because of Angular anchor system
> OAuth2 requires clients (Guacamole in our case) to register a redirect URI so 
> that the OAuth2 server could callback the application when the user has been 
> identify (or rejected) on its side. It also passes along some informations 
> like tokens or reason of failure as part of the URL. If we set the Guacamole 
> index URL as the redirect URI then this data never get passed along to the 
> authenticate plugin.
> Such redirect URI cannot contain any pound sign (#) because this sign in a 
> URI is a delimiter after which data are not sent to the server on HTTP 
> request. In the case of Guacamole, the Angular frontend uses those local URI 
> data to determine which page to display.
> Angular behavior cannot be easilly turned off and would lead to heaver code 
> changes and uncompatibility with older browser.
> h1. Retrieve to connection list on authentication
> Connection list is retrieved at user login. It doesn't make sense to expect 
> the OAuth server to give such list as it would not be generic enough.
> Fortunatly, connection lists get merged between authentication plugins and 
> this OAuth plugin could be paired with another one which goal would just be 
> to provide the connection list.
> h1. Token invalidation
> Upon a successful authentication, the OAuth2 server will issued an auth token.
> First, this token needs to be invalidated by Guacamole when user explicitly 
> disconnects.
> Second, there is no way for Guacamole to know if a stored auth token is still 
> valid. Leaving the user to freely keep on using its Guacamole session even 
> thought the token has expired.
> I am just leaving these though here so the Guacamole community could start an 
> discussion on this matter.



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

Reply via email to