]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/http/client/SpnegoAuthScheme.java
SPNEGO working
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / http / client / SpnegoAuthScheme.java
index 7a8071f4a9eb41c073be8d973e8e0983a25e4273..d72e695d5fb5209b3a2974fa989d0c8c406aa457 100644 (file)
@@ -20,7 +20,6 @@ import org.apache.commons.httpclient.auth.MalformedChallengeException;
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.params.DefaultHttpParams;
 import org.apache.commons.httpclient.params.HttpParams;
-import org.argeo.cms.internal.kernel.NodeHttp;
 import org.ietf.jgss.GSSContext;
 import org.ietf.jgss.GSSException;
 import org.ietf.jgss.GSSManager;
@@ -41,6 +40,8 @@ public class SpnegoAuthScheme implements AuthScheme {
                }
        }
 
+       private final static String DEFAULT_KERBEROS_SERVICE = "HTTP";
+
        private boolean complete = false;
        private String realm;
 
@@ -100,7 +101,7 @@ public class SpnegoAuthScheme implements AuthScheme {
                } catch (URIException e1) {
                        throw new IllegalStateException("Cannot authenticate", e1);
                }
-               String serverPrinc = NodeHttp.DEFAULT_SERVICE + "@" + hostname;
+               String serverPrinc = DEFAULT_KERBEROS_SERVICE + "@" + hostname;
 
                try {
                        // Get service's principal name
@@ -132,8 +133,10 @@ public class SpnegoAuthScheme implements AuthScheme {
        }
 
        public static void main(String[] args) {
-               if (args.length == 0) {
-                       System.err.println("usage: java " + SpnegoAuthScheme.class.getName() + " <url>");
+               String principal = System.getProperty("javax.security.auth.login.name");
+               if (args.length == 0 || principal == null) {
+                       System.err.println("usage: java -Djavax.security.auth.login.name=<principal@REALM> "
+                                       + SpnegoAuthScheme.class.getName() + " <url>");
                        System.exit(1);
                        return;
                }