SLIDER-633 add processing for token file for oozie based slider invocations
diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java b/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
index 644f627..c72f520 100644
--- a/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
+++ b/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
@@ -38,6 +38,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.File;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
@@ -171,7 +172,16 @@
 
 
     DataOutputBuffer dob = new DataOutputBuffer();
-    credentials.writeTokenStorageToStream(dob);
+    String tokenFileName = this.getConf().get("mapreduce.job.credentials.binary");
+    if (tokenFileName != null) {
+      // use delegation tokens, i.e. from Oozie
+      Credentials creds = Credentials.readTokenStorageFile(new File(tokenFileName), getConf());
+      creds.writeTokenStorageToStream(dob);
+    } else {
+      // normal auth
+      credentials.writeTokenStorageToStream(dob);
+    }
+
     ByteBuffer tokenBuffer = ByteBuffer.wrap(dob.getData(), 0, dob.getLength());
     containerLaunchContext.setTokens(tokenBuffer);
 
diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java b/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
index bd8a0a5..8229c63 100644
--- a/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
+++ b/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
@@ -204,9 +204,11 @@
       );
     }
 
-    // For now, only getting tokens for the default file-system.
-    FileSystem fs = coreFileSystem.getFileSystem();
-    fs.addDelegationTokens(tokenRenewer, credentials);
+    if (this.getConf().get("mapreduce.job.credentials.binary") == null) {
+      // For now, only getting tokens for the default file-system.
+      FileSystem fs = coreFileSystem.getFileSystem();
+      fs.addDelegationTokens(tokenRenewer, credentials);
+    }
   }