diff options
author | Nils Schwabe | 2014-04-10 15:49:18 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-04-10 15:49:18 +0200 |
commit | 298f7ca2b7e8861a70e31da237a775f45d77b597 (patch) | |
tree | c838288c443d976251a216f6a9318f4860907785 /src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java | |
parent | added some comments (diff) | |
download | masterserver-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.java | 34 |
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); } } |