summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
diff options
context:
space:
mode:
authorNils Schwabe2014-04-10 15:49:18 +0200
committerNils Schwabe2014-04-10 15:49:18 +0200
commit298f7ca2b7e8861a70e31da237a775f45d77b597 (patch)
treec838288c443d976251a216f6a9318f4860907785 /src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
parentadded some comments (diff)
downloadmasterserver-298f7ca2b7e8861a70e31da237a775f45d77b597.tar.gz
masterserver-298f7ca2b7e8861a70e31da237a775f45d77b597.tar.xz
masterserver-298f7ca2b7e8861a70e31da237a775f45d77b597.zip
tried to implement the server auth. (did not work)
added ImageProcessor to process image after ftp upload
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java34
1 files changed, 26 insertions, 8 deletions
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
index b0fd72f..d57eb36 100644
--- a/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
@@ -2,28 +2,37 @@ package org.openslx.imagemaster.serversession;
import java.util.HashMap;
+import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import org.openslx.imagemaster.thrift.iface.AuthenticationException;
import org.openslx.imagemaster.util.RandomString;
public class ServerAuthenticator {
+ private static Logger log = Logger.getLogger(ServerAuthenticator.class);
// map of currently authenticating servers
private static HashMap<String, String> authenticatingServers = new HashMap<String, String>();
+
/**
* Start the server authentification.
- * @param organization the organization of the server
+ *
+ * @param organization
+ * the organization of the server
* @return encrypted random string
*/
public static String startServerAuthentication(String organization) {
String secret = RandomString.generate(100, false);
synchronized (authenticatingServers) {
authenticatingServers.put(organization, secret);
+ log.info("Server of organinzation '" + organization
+ + "' starts to authenticate. And got string: '" + secret
+ + "'");
}
return secret;
}
-
+
/**
* Authenticate with the challengeResponse
+ *
* @param organization
* @param address
* @param challengeResponse
@@ -31,14 +40,23 @@ public class ServerAuthenticator {
* @throws AuthenticationException
* @throws TException
*/
- public static ServerUser serverAuthenticate(String organization, String address,
- String challengeResponse) throws AuthenticationException,
- TException {
+ public static ServerUser serverAuthenticate(String organization,
+ String address, String challengeResponse)
+ throws AuthenticationException, TException {
/*
- * TODO:
- * Decrypt the given challengeResponse and check whether it was right or not.
- * Authenticate server if so.
+ * TODO: Decrypt the given challengeResponse and check whether it was
+ * right or not. Authenticate server if so.
*/
+ if (!challengeResponse.equals(authenticatingServers.get(organization))) {
+ throw new AuthenticationException();
+ }
+
+ log.info("Server of organinzation '" + organization
+ + " authenticated. With response: '" + challengeResponse
+ + "'");
+
+ authenticatingServers.remove(organization);
+
return new ServerUser(organization, address);
}
}