function authHandler(req, provider, auth, profile) {
    if(req.user && req.user._id && req.user.key) {
      return user.linkSocial(req.user._id, provider, auth, profile, req);
    } else {
      return user.socialAuth(provider, auth, profile, req);
    }
  }
function authHandler(req, provider, auth, profile) {
    if(req.user && req.user._id && req.user.key) {
      return user.linkSocial(req.user._id, provider, auth, profile, req);
    } else {
      return user.socialAuth(provider, auth, profile, req);
    }
  }
function authHandler ( req , provider , auth , profile ) { if ( req . user && req . user . _id && req . user . key ) { return user . linkSocial ( req . user . _id , provider , auth , profile , req ) ; } else { return user . socialAuth ( provider , auth , profile , req ) ; } }
This is called after a user has successfully authenticated with a provider If a user is authenticated with a bearer token we will link an account, otherwise log in auth is an object containing 'access_token' and optionally 'refresh_token'
This is called after a user has successfully authenticated with a provider If a user is authenticated with a bearer token we will link an account otherwise log in auth is an object containing access_token and optionally refresh_token