Improve remote authentication
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / RemoteSessionLoginModule.java
index 6bf3fc985a8d1040edfbab0692a4a4e8cd991dae..d2ceb27a509860ece72d1c36136c70fb053fcb38 100644 (file)
@@ -94,6 +94,8 @@ public class RemoteSessionLoginModule implements LoginModule {
                                                if (log.isTraceEnabled())
                                                        log.trace("Retrieved authorization from " + cmsSession);
                                        }
+                               }else {
+                                       request.createSession();
                                }
                        }
                        sharedState.put(CmsAuthUtils.SHARED_STATE_HTTP_REQUEST, request);
@@ -116,7 +118,7 @@ public class RemoteSessionLoginModule implements LoginModule {
        public boolean commit() throws LoginException {
                byte[] outToken = (byte[]) sharedState.get(CmsAuthUtils.SHARED_STATE_SPNEGO_OUT_TOKEN);
                if (outToken != null) {
-                       response.setHeader(HttpHeader.WWW_AUTHENTICATE.getName(),
+                       response.setHeader(HttpHeader.WWW_AUTHENTICATE.getHeaderName(),
                                        "Negotiate " + java.util.Base64.getEncoder().encodeToString(outToken));
                }
 
@@ -154,7 +156,7 @@ public class RemoteSessionLoginModule implements LoginModule {
        }
 
        private void extractHttpAuth(final RemoteAuthRequest httpRequest) {
-               String authHeader = httpRequest.getHeader(HttpHeader.AUTHORIZATION.getName());
+               String authHeader = httpRequest.getHeader(HttpHeader.AUTHORIZATION.getHeaderName());
                extractHttpAuth(authHeader);
        }