Workaround Krb5LoginModule printing to System.out when tryFirstPass is
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / SpnegoLoginModule.java
index a01daf6e0adef7228725ef66833a99d62d66aabb..e5f367d23f1e77cdba3ed26fe806006e8b06a00e 100644 (file)
@@ -36,8 +36,15 @@ public class SpnegoLoginModule implements LoginModule {
        @Override
        public boolean login() throws LoginException {
                byte[] spnegoToken = (byte[]) sharedState.get(CmsAuthUtils.SHARED_STATE_SPNEGO_TOKEN);
-               if (spnegoToken == null)
+               if (spnegoToken == null) {
+                       if (!sharedState.containsKey(CmsAuthUtils.SHARED_STATE_NAME)) {
+                               // workaround: set shared state name to empty
+                               // in order to avoid Krb5LoginModule printing to System.out
+                               // TODO ask upstream to only log in debug mode
+                               sharedState.put(CmsAuthUtils.SHARED_STATE_NAME, "");
+                       }
                        return false;
+               }
                gssContext = checkToken(spnegoToken);
                if (gssContext == null)
                        return false;