diff options
author | Nils Schwabe | 2014-04-10 11:58:34 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-04-10 11:58:34 +0200 |
commit | d5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc (patch) | |
tree | c9895bd99ed579d421343b41e9611da23eb1a4c1 /src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java | |
parent | added new thrift methods: (diff) | |
download | masterserver-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.java | 40 |
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); + } +} |