]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java
Remove static default UUID factory
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / client / SpnegoHttpClient.java
index e530f5550f17b0af40d5bcbae6b26575c934ad32..e5beb69da84371be0acb4656bc9f3a8608c65b55 100644 (file)
@@ -18,11 +18,12 @@ import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 
 import org.argeo.cms.auth.RemoteAuthUtils;
+import org.argeo.util.http.HttpHeader;
 
 public class SpnegoHttpClient {
        public static void main(String[] args) throws MalformedURLException {
 //             String principal = System.getProperty("javax.security.auth.login.name");
-               if (args.length == 0 ) {
+               if (args.length == 0) {
                        System.err.println("usage: java -Djavax.security.auth.login.name=<principal@REALM> "
                                        + SpnegoHttpClient.class.getName() + " <url>");
                        System.exit(1);
@@ -31,38 +32,24 @@ public class SpnegoHttpClient {
                String url = args[0];
                URL u = new URL(url);
                String server = u.getHost();
-               
+
                URL jaasUrl = SpnegoHttpClient.class.getResource("jaas.cfg");
                System.setProperty("java.security.auth.login.config", jaasUrl.toExternalForm());
                try {
                        LoginContext lc = new LoginContext("SINGLE_USER");
                        lc.login();
 
-//                     int responseCode = Subject.doAs(lc.getSubject(), new PrivilegedExceptionAction<Integer>() {
-//
-//                             public Integer run() throws Exception {
-
-//                                     InputStream ins = u.openConnection().getInputStream();
-//                                     BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
-//                                     String str;
-//                                     while ((str = reader.readLine()) != null)
-//                                             System.out.println(str);
-//                                     return 666;
-
                        HttpClient httpClient = openHttpClient(lc.getSubject());
-                       String token = RemoteAuthUtils.getGssToken(lc.getSubject(), "HTTP", server);
+                       String token = RemoteAuthUtils.createGssToken(lc.getSubject(), "HTTP", server);
 
                        HttpRequest request = HttpRequest.newBuilder().uri(u.toURI()) //
-                                       .header("Authorization", "Negotiate " + token) //
+                                       .header(HttpHeader.AUTHORIZATION.getHeaderName(), HttpHeader.NEGOTIATE + " " + token) //
                                        .build();
                        BodyHandler<String> bodyHandler = BodyHandlers.ofString();
                        HttpResponse<String> response = httpClient.send(request, bodyHandler);
                        System.out.println(response.body());
                        int responseCode = response.statusCode();
-//                                     return response.statusCode();
-//                             }
-//                     });
-                       System.out.println("Reponse code: " + responseCode);
+                       System.exit(responseCode);
                } catch (Exception e) {
                        e.printStackTrace();
                }