[java-identity-provider COMMIT] /trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog....

noreply at shibboleth.net noreply at shibboleth.net
Fri Nov 6 14:15:11 EST 2015


Author: scantor
Date: Fri Nov  6 14:15:11 2015
New Revision: 7955

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7955&view=rev
Log:
IDP-840 - Fixes to F-TICKS format, and logging of success and failure

Modified:
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java

Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java?rev=7955&r1=7954&r2=7955&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java	(original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java	Fri Nov  6 14:15:11 2015
@@ -36,10 +36,6 @@
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
 import org.opensaml.messaging.context.navigate.ChildContextLookup;
 import org.opensaml.messaging.context.navigate.MessageLookup;
 import org.opensaml.profile.context.ProfileRequestContext;
@@ -59,9 +55,6 @@
 
     /** Logging category to use. */
     @Nonnull @NotEmpty public static final String FTICKS_LOG_CATEGORY = "Shibboleth-FTICKS";
-    
-    /** Formatter used to convert timestamps to strings. */
-    private static DateTimeFormatter v2Formatter = ISODateTimeFormat.basicDateTimeNoMillis();
     
     /** Strategy used to locate the {@link AuditContext} associated with a given {@link ProfileRequestContext}. */
     @Nonnull private Function<ProfileRequestContext,AuditContext> auditContextLookupStrategy;
@@ -210,22 +203,6 @@
         }
         
     }
-
-    /** {@inheritDoc} */
-    @Override
-    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-        if (!super.doPreExecute(profileRequestContext)) {
-            return false;
-        }
-        
-        final String status = statusCodeLookupStrategy.apply(profileRequestContext);
-        if (status != null && (org.opensaml.saml.saml1.core.StatusCode.SUCCESS.getLocalPart().equals(status)
-                || org.opensaml.saml.saml2.core.StatusCode.SUCCESS.equals(status))) {
-            return true;
-        }
-        
-        return false;
-    }
     
     /** {@inheritDoc} */
     @Override
@@ -234,35 +211,37 @@
         //"F-TICKS/%{idp.fticks.federation:Undefined}/1.0#TS=%T#RP=%SP#AP=%IDP #PN=%HASHEDu#AM=%ac#"
         
         final StringBuilder record = new StringBuilder("F-TICKS/");
-        record.append(federationId);
-        record.append("/1.0#TS=");
-        record.append(new DateTime().toString(v2Formatter.withZone(DateTimeZone.UTC)));
-        
-        record.append("#RP=");
+        record.append(federationId).append("/1.0#TS=").append(System.currentTimeMillis() / 1000);
+        
         String field = relyingPartyLookupStrategy.apply(profileRequestContext);
         if (!field.isEmpty()) {
-            record.append(field);
-        }
-
-        record.append("#AP=");
+            record.append("#RP=").append(field);
+        }
+
         field = responderLookupStrategy.apply(profileRequestContext);
         if (!field.isEmpty()) {
-            record.append(field);
-        }
-        
-        record.append("#PN=");
+            record.append("#AP=").append(field);
+        }
+        
         field = usernameLookupStrategy.apply(profileRequestContext);
         if (!field.isEmpty()) {
             field = digester.apply(field);
             if (!field.isEmpty()) {
-                record.append(field);
+                record.append("#PN=").append(field);
             }
         }
         
-        record.append("#AM=");
         field = authenticationMethodLookupStrategy.apply(profileRequestContext);
         if (!field.isEmpty()) {
-            record.append(field);
+            record.append("#AM=").append(field);
+        }
+        
+        field = statusCodeLookupStrategy.apply(profileRequestContext);
+        if (field != null && (org.opensaml.saml.saml1.core.StatusCode.SUCCESS.getLocalPart().equals(field)
+                || org.opensaml.saml.saml2.core.StatusCode.SUCCESS.equals(field))) {
+            record.append("#RESULT=OK");
+        } else {
+            record.append("#RESULT=FAIL");
         }
 
         record.append("#");



More information about the commits mailing list