Repository: incubator-guacamole-client
Updated Branches:
  refs/heads/master b64247dfb -> 48607bbe0


GUACAMOLE-341: Automatically pull GUAC_USERNAME token from AuthenticatedUser's 
identifier if there is no username provided via Credentials (closes #174).


Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/22bcc1b7
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/22bcc1b7
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/22bcc1b7

Branch: refs/heads/master
Commit: 22bcc1b78e92d24430a7f9e1e8c1ec98159975fc
Parents: b64247d
Author: Michael Jumper <[email protected]>
Authored: Tue Sep 26 12:09:29 2017 -0700
Committer: Michael Jumper <[email protected]>
Committed: Tue Sep 26 12:10:35 2017 -0700

----------------------------------------------------------------------
 .../tunnel/AbstractGuacamoleTunnelService.java  |  4 +--
 .../auth/ldap/connection/ConnectionService.java |  2 +-
 .../apache/guacamole/token/StandardTokens.java  | 28 ++++++++++++++++++++
 3 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/22bcc1b7/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
index 59ed13c..fe3a45b 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
@@ -235,7 +235,7 @@ public abstract class AbstractGuacamoleTunnelService 
implements GuacamoleTunnelS
 
         // Build token filter containing credential tokens
         TokenFilter tokenFilter = new TokenFilter();
-        StandardTokens.addStandardTokens(tokenFilter, user.getCredentials());
+        StandardTokens.addStandardTokens(tokenFilter, user);
 
         // Filter the configuration
         tokenFilter.filterValues(config.getParameters());
@@ -281,7 +281,7 @@ public abstract class AbstractGuacamoleTunnelService 
implements GuacamoleTunnelS
 
         // Build token filter containing credential tokens
         TokenFilter tokenFilter = new TokenFilter();
-        StandardTokens.addStandardTokens(tokenFilter, user.getCredentials());
+        StandardTokens.addStandardTokens(tokenFilter, user);
 
         // Filter the configuration
         tokenFilter.filterValues(config.getParameters());

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/22bcc1b7/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
index d256ebb..eea1a95 100644
--- 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
+++ 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
@@ -123,7 +123,7 @@ public class ConnectionService {
 
             // Build token filter containing credential tokens
             TokenFilter tokenFilter = new TokenFilter();
-            StandardTokens.addStandardTokens(tokenFilter, 
user.getCredentials());
+            StandardTokens.addStandardTokens(tokenFilter, user);
 
             // Produce connections for each readable configuration
             Map<String, Connection> connections = new HashMap<String, 
Connection>();

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/22bcc1b7/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java 
b/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
index c13477c..b1b280b 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
@@ -21,6 +21,7 @@ package org.apache.guacamole.token;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import org.apache.guacamole.net.auth.AuthenticatedUser;
 import org.apache.guacamole.net.auth.Credentials;
 
 /**
@@ -138,4 +139,31 @@ public class StandardTokens {
 
     }
 
+    /**
+     * Adds tokens which are standardized by guacamole-ext to the given
+     * TokenFilter using the values from the given AuthenticatedUser object,
+     * including any associated credentials. These standardized tokens include
+     * the current username (GUAC_USERNAME), password (GUAC_PASSWORD), and the
+     * server date and time (GUAC_DATE and GUAC_TIME respectively). If either
+     * the username or password are not set within the given user or their
+     * provided credentials, the corresponding token(s) will remain unset.
+     *
+     * @param filter
+     *     The TokenFilter to add standard tokens to.
+     *
+     * @param user
+     *     The AuthenticatedUser to use when populating the GUAC_USERNAME and
+     *     GUAC_PASSWORD tokens.
+     */
+    public static void addStandardTokens(TokenFilter filter, AuthenticatedUser 
user) {
+
+        // Default to the authenticated user's username for the GUAC_USERNAME
+        // token
+        filter.setToken(USERNAME_TOKEN, user.getIdentifier());
+
+        // Add tokens specific to credentials
+        addStandardTokens(filter, user.getCredentials());
+
+    }
+
 }

Reply via email to