You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by GitBox <gi...@apache.org> on 2020/06/24 21:23:47 UTC

[GitHub] [guacamole-manual] mike-jumper commented on a change in pull request #143: GUACAMOLE-103: Document SAML authentication extension.

mike-jumper commented on a change in pull request #143:
URL: https://github.com/apache/guacamole-manual/pull/143#discussion_r445176888



##########
File path: src/chapters/saml-auth.xml
##########
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<chapter xml:id="saml-auth" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
+    xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>SAML Authentication</title>
+    <indexterm>
+        <primary>SAML Authentication</primary>
+    </indexterm>
+    <para>SAML is a widely implemented and used Single Sign On (SSO) provider that allows
+		applications and services to authenticate in a standard way, and brokers those
+		authentication requests to one or more back-end authentication providers.  The SAML
+		authentication extension allows Guacamole to redirect to a SAML Identity Provider (IdP)
+		for authentication and user services.  This module does not provide any capability
+		for storing or retrieving connections, and must be layered with other authentication
+		extensions that provide connection management.
+    <section xml:id="saml-downloading">
+        <title>Downloading the SAML authentication extension</title>
+        <para>The SAML authentication extension is available separately from the main
+                <filename>guacamole.war</filename>. The link for this and all other
+            officially-supported and compatible extensions for a particular version of Guacamole are
+            provided on the release notes for that version. You can find the release notes for
+            current versions of Guacamole here: <link
+                xlink:href="http://guacamole.apache.org/releases/"
+                >http://guacamole.apache.org/releases/</link>.</para>
+        <para>The SAML authentication extension is packaged as a <filename>.tar.gz</filename>
+            file containing only the extension itself,
+                <filename>guacamole-auth-saml-1.2.0.jar</filename>, which must
+            ultimately be placed in <filename>GUACAMOLE_HOME/extensions</filename>.</para>
+    </section>
+    <section xml:id="installing-saml-auth">
+        <title>Installing SAML authentication</title>
+        <para>Guacamole extensions are self-contained <filename>.jar</filename> files which are
+            located within the <filename>GUACAMOLE_HOME/extensions</filename> directory.
+                <emphasis>If you are unsure where <varname>GUACAMOLE_HOME</varname> is located on
+                your system, please consult <xref linkend="configuring-guacamole"/> before
+                proceeding.</emphasis></para>
+        <para>To install the SAML authentication extension, you must:</para>
+        <procedure>
+            <step>
+                <para>Create the <filename>GUACAMOLE_HOME/extensions</filename> directory, if it
+                    does not already exist.</para>
+            </step>
+            <step>
+                <para>Copy <filename>guacamole-auth-saml-1.2.0.jar</filename> within
+                        <filename>GUACAMOLE_HOME/extensions</filename>.</para>
+            </step>
+            <step>
+                <para>Configure Guacamole to use SAML authentication, as described
+                    below.</para>
+            </step>
+        </procedure>
+        <section xml:id="guac-saml-config">
+            <title>Configuring Guacamole for SAML Authentication</title>
+            <indexterm>
+                <primary>configuring SAML authentication</primary>
+            </indexterm>
+            <indexterm>
+                <primary>SAML authentication</primary>
+                <secondary>configuration</secondary>
+            </indexterm>
+            <para>The SAML authentication extension provides several configuration properties
+                to set it up to talk to the IdP.  The SAML IdP also must be configured with
+                Guacamole as a Service Provider (SP).  Configuration of the SAML IdP is beyond
+                the scope of this document, and will vary widely based on the IdP in use.</para>
+            <variablelist>
+                <varlistentry>
+                    <term><property>saml-idp-metadata-url</property></term>
+                    <listitem>
+                        <para>The URI of the XML metadata file that from the
+                            SAML Identity Provider that contains all of the
+                            information the SAML extension needs in order to
+                            know how to authentication with the IdP. This URI

Review comment:
       how to authenticate*

##########
File path: src/chapters/saml-auth.xml
##########
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<chapter xml:id="saml-auth" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
+    xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>SAML Authentication</title>
+    <indexterm>
+        <primary>SAML Authentication</primary>
+    </indexterm>
+    <para>SAML is a widely implemented and used Single Sign On (SSO) provider that allows
+		applications and services to authenticate in a standard way, and brokers those
+		authentication requests to one or more back-end authentication providers.  The SAML
+		authentication extension allows Guacamole to redirect to a SAML Identity Provider (IdP)
+		for authentication and user services.  This module does not provide any capability
+		for storing or retrieving connections, and must be layered with other authentication
+		extensions that provide connection management.

Review comment:
       This `<para>` is missing its closing tag, resulting in a build failure:
   
   ```
   [mjumper@dev-mjumper guacamole-manual]$ make
   cd src; xsltproc -o ../html/ --xinclude site.xslt gug.xml
   chapters/saml-auth.xml:176: parser error : Opening and ending tag mismatch: para line 9 and chapter
   </chapter>
             ^
   chapters/saml-auth.xml:177: parser error : Premature end of data in tag chapter line 3
   
   ^
   gug.xml:168: element include: XInclude error : could not load chapters/saml-auth.xml, and no fallback was found
   make: *** [Makefile:55: html/index.html] Error 6
   [mjumper@dev-mjumper guacamole-manual]$ 
   ```

##########
File path: src/gug.xml
##########
@@ -165,6 +165,7 @@
         <xi:include href="chapters/header-auth.xml"/>
         <xi:include href="chapters/cas-auth.xml"/>
         <xi:include href="chapters/openid-auth.xml"/>
+		<xi:include href="chapters/saml-auth.xml"/>

Review comment:
       Tabs snuck in here.

##########
File path: src/chapters/saml-auth.xml
##########
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<chapter xml:id="saml-auth" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
+    xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>SAML Authentication</title>
+    <indexterm>
+        <primary>SAML Authentication</primary>
+    </indexterm>
+    <para>SAML is a widely implemented and used Single Sign On (SSO) provider that allows
+		applications and services to authenticate in a standard way, and brokers those
+		authentication requests to one or more back-end authentication providers.  The SAML
+		authentication extension allows Guacamole to redirect to a SAML Identity Provider (IdP)
+		for authentication and user services.  This module does not provide any capability
+		for storing or retrieving connections, and must be layered with other authentication
+		extensions that provide connection management.
+    <section xml:id="saml-downloading">
+        <title>Downloading the SAML authentication extension</title>
+        <para>The SAML authentication extension is available separately from the main
+                <filename>guacamole.war</filename>. The link for this and all other
+            officially-supported and compatible extensions for a particular version of Guacamole are
+            provided on the release notes for that version. You can find the release notes for
+            current versions of Guacamole here: <link
+                xlink:href="http://guacamole.apache.org/releases/"
+                >http://guacamole.apache.org/releases/</link>.</para>
+        <para>The SAML authentication extension is packaged as a <filename>.tar.gz</filename>
+            file containing only the extension itself,
+                <filename>guacamole-auth-saml-1.2.0.jar</filename>, which must
+            ultimately be placed in <filename>GUACAMOLE_HOME/extensions</filename>.</para>
+    </section>
+    <section xml:id="installing-saml-auth">
+        <title>Installing SAML authentication</title>
+        <para>Guacamole extensions are self-contained <filename>.jar</filename> files which are
+            located within the <filename>GUACAMOLE_HOME/extensions</filename> directory.
+                <emphasis>If you are unsure where <varname>GUACAMOLE_HOME</varname> is located on
+                your system, please consult <xref linkend="configuring-guacamole"/> before
+                proceeding.</emphasis></para>
+        <para>To install the SAML authentication extension, you must:</para>
+        <procedure>
+            <step>
+                <para>Create the <filename>GUACAMOLE_HOME/extensions</filename> directory, if it
+                    does not already exist.</para>
+            </step>
+            <step>
+                <para>Copy <filename>guacamole-auth-saml-1.2.0.jar</filename> within
+                        <filename>GUACAMOLE_HOME/extensions</filename>.</para>
+            </step>
+            <step>
+                <para>Configure Guacamole to use SAML authentication, as described
+                    below.</para>
+            </step>
+        </procedure>
+        <section xml:id="guac-saml-config">
+            <title>Configuring Guacamole for SAML Authentication</title>
+            <indexterm>
+                <primary>configuring SAML authentication</primary>
+            </indexterm>
+            <indexterm>
+                <primary>SAML authentication</primary>
+                <secondary>configuration</secondary>
+            </indexterm>
+            <para>The SAML authentication extension provides several configuration properties
+                to set it up to talk to the IdP.  The SAML IdP also must be configured with
+                Guacamole as a Service Provider (SP).  Configuration of the SAML IdP is beyond
+                the scope of this document, and will vary widely based on the IdP in use.</para>
+            <variablelist>
+                <varlistentry>
+                    <term><property>saml-idp-metadata-url</property></term>
+                    <listitem>
+                        <para>The URI of the XML metadata file that from the
+                            SAML Identity Provider that contains all of the
+                            information the SAML extension needs in order to
+                            know how to authentication with the IdP. This URI
+                            can either be a remote server (e.g. https://) or a
+                            local file on the filesystem (e.g. file://). If this
+                            file is provided via this configuration property, no
+                            other configuration is required.  The metadata file is

Review comment:
       > ... If this file is provided via this configuration property, no other configuration is required. ...
   
   What about `saml-entity-id` and `saml-callback-url`? Aren't those required in all cases?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org