summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
diff options
context:
space:
mode:
authorNils Schwabe2014-04-10 11:58:34 +0200
committerNils Schwabe2014-04-10 11:58:34 +0200
commitd5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc (patch)
treec9895bd99ed579d421343b41e9611da23eb1a4c1 /src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
parentadded new thrift methods: (diff)
downloadmasterserver-d5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc.tar.gz
masterserver-d5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc.tar.xz
masterserver-d5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc.zip
Added authentification for uni/hs server
--> added serversession, serversessionmanager --> missing implementation for server authentication
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
new file mode 100644
index 0000000..b16766a
--- /dev/null
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
@@ -0,0 +1,40 @@
+package org.openslx.imagemaster.serversession;
+
+import java.util.HashMap;
+
+import org.apache.thrift.TException;
+import org.openslx.imagemaster.thrift.iface.AuthenticationException;
+import org.openslx.imagemaster.util.RandomString;
+
+public class ServerAuthenticator {
+ private static HashMap<String, String> authenticatingServers = new HashMap<String, String>();
+ /**
+ * Start the server authentification.
+ * @param organization the organization of the server
+ * @return encrypted random string
+ */
+ public static String startServerAuthentication(String organization) {
+ /*
+ * TODO:
+ * Create random string, send it to server.
+ * Remember organization for later authentification.
+ */
+ String secret = RandomString.generate(100, false);
+ synchronized (authenticatingServers) {
+ authenticatingServers.put(organization, secret);
+ }
+ return secret;
+ }
+
+
+ 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.
+ */
+ return new ServerUser(organization, address);
+ }
+}