diff --git a/lib/requestMethods.js b/lib/requestMethods.js
index <HASH>..<HASH> 100644
--- a/lib/requestMethods.js
+++ b/lib/requestMethods.js
@@ -47,8 +47,11 @@ module.exports.authenticate= function(strategy, opts, callback, strategyExecutor
    }
 
    // Choose the first strategy defined if no strategy provided
-   if( !strategy && strategyExecutor.strategies.length >0 ) {
-     strategy= [strategyExecutor.strategies[0].name];
+   if( !strategy && strategyExecutor.strategies ) {
+     for( var k in strategyExecutor.strategies ) {
+       strategy= [strategyExecutor.strategies[k].name];
+       break;
+     }
    }
 
    trace( "Authenticating ("+this.headers.host + this.url+")", scope, ">>>" );
Support object literals as well as arrays for auto-selecting strategies