done(null, user);
Where is that defined? I don't see it in the code you posted. Are you sure it is a function?
Never mind.. I fixed it 
passport.use(new passportSteam({
returnURL: module.parent.require('nconf').get('url') + 'auth/steam/callback',
realm: module.parent.require('nconf').get('url')
}, function(identifier, profile, done) {...});
profile parameter was missing.. Now I'm logged in with my Steam account 
I'll run more tests, improve the code and put on github for the pros take a look. 
--
By the way, as FontAwesome doesn't have the Steam icon, I'm using the gamepad icon. It's ok on admin page, but in user login page, on alternative logins, the code puts a -square suffix on the <i> element class. And there are no fa-gamepad-square, so I used another icon that have a square suffix on that page...