GitHub user mike-jumper opened a pull request:

    https://github.com/apache/incubator-guacamole-client/pull/94

    GUACAMOLE-136: Add support for two-factor authentication using Duo.

    This change adds a new extension, guacamole-auth-duo, which implements 
two-factor authentication leveraging [Duo](https://duo.com/). They provide 
[Java and JavaScript 
libraries](https://github.com/duosecurity/duo_java/tree/56570d18a1f98642500e6c1158a3f41e448963ff)
 (albeit with some error-handling and lack-of-comments quirks) under a [BSD 
3-clause 
license](https://github.com/duosecurity/duo_java/blob/56570d18a1f98642500e6c1158a3f41e448963ff/LICENSE).
    
    Neither the Java nor the JavaScript libraries are present in Maven Central, 
and Duo has stated that they have no intent to do so (see: 
duosecurity/duo_java#1), thus they have been bundled in the source here. The 
top-level `LICENSE` has been updated accordingly.
    
    With this extension in place, the overall process is as follows:
    
    1. User logs in via any other installed authentication method.
    2. If log in is successful, user is prompted to authenticate with Duo.
    3. If Duo verifies the user's identity successfully, the user is allowed 
through. The previous authentication result is overridden otherwise.
    
    The extension is configured with four new properties:
    
    Name                  | Description
    --------------------- | -----------
    `duo-api-hostname`    | The API hostname provided by Duo (generally of the 
form: "api-XXXXXXXX.duosecurity.com").
    `duo-integration-key` | The 20-character integration key ("ikey") provided 
by Duo.
    `duo-secret-key`      | The 40-character secret key ("skey") provided by 
Duo.
    `duo-application-key` | An arbitrary application key ("akey", must be *at 
least* 40 characters).
    
    The "application key" is expected to be randomly generated by the 
administrator when configuring the extension (see [Duo's documentation on the 
subject](https://duo.com/docs/duoweb#1.-generate-an-akey)). All other values 
are provided by Duo.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mike-jumper/incubator-guacamole-client 
duo-auth

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-guacamole-client/pull/94.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #94
    
----
commit 3851a5bbd1e534e7881c884c0f56f28b37178acf
Author: Michael Jumper <[email protected]>
Date:   2016-12-02T05:33:28Z

    GUACAMOLE-136: Use hidden submit button for submitting Duo response 
(form.submit() inserts query parameters and causes browser navigation, despite 
ngSubmit preventing default).

commit b4dea91eccac3718f0da1531d6d8fbf0452f7263
Author: Michael Jumper <[email protected]>
Date:   2016-12-02T05:36:26Z

    GUACAMOLE-136: Implement basic support for verifying user identity using 
Duo.

commit c19a67a6a883083ad72113554c0c8058f6ec2344
Author: Michael Jumper <[email protected]>
Date:   2016-12-02T08:49:21Z

    GUACAMOLE-136: Render Duo field as modal dialog.

commit 616e4718b46a9da3c62117799387fc8da1d572c9
Author: Michael Jumper <[email protected]>
Date:   2016-12-03T00:02:47Z

    GUACAMOLE-136: Minify JavaScript and CSS. Add templates to Angular's cache.

commit 1ab7216237b2a6ffdadb0fd3555d2e768270a885
Author: Michael Jumper <[email protected]>
Date:   2016-12-06T03:57:59Z

    GUACAMOLE-136: Fix Carlito LICENSE path.

commit ec5d71d5facb6692f97b0fad94c9897b557d9ed2
Author: Michael Jumper <[email protected]>
Date:   2016-12-06T04:04:53Z

    GUACAMOLE-136: Add licenses for libraries bundled with guacamole-auth-duo.

commit 32ec9934caacd757f6ec0f19b5aec7c80f86d473
Author: Michael Jumper <[email protected]>
Date:   2016-12-06T04:26:54Z

    GUACAMOLE-136: Add Apache RAT plugin to build. Add missing license header 
to pom.xml.

commit 23a7f1202b3ce40a4f7a7aa2b1e1a5dc761613ec
Author: Michael Jumper <[email protected]>
Date:   2016-12-06T04:31:03Z

    GUACAMOLE-136: Bundle guacamole-auth-duo .jar into .tar.gz, along with 
licenses.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to