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()); + + } + }
