2016-04-27 33 views
-1

以下是我尝试使用第三方提供程序进行身份验证的代码。我的身份验证呼叫是在不同服务器上运行的服务api。如何在我的代码使用服务API保证HTTP端点的安全

//app.js 
app.use(passport.initialize()); 
// Create our Express router 
var router = express.Router(); 
router.route('/test') 
    .get(**<first authenticate user using service api http://localhost:1000/authenticate>**, serviceController.getData); 
app.listen(2000); 

//authController.js 
var app = express(); 
var router = express.Router(); 
router.post("/authenticate",function(req,res){ 
//Using third party providers like LDAP or Facebook using Passport 
res.send("User authenticated");//Token will be send 
}); 
app.listen(1000); 

//authController.js - as function call it is working 
var passport = require('passport'); 
var BasicStrategy = require('passport-http').BasicStrategy; 

passport.use(new BasicStrategy(
    function (username, password, callback) { 
     // Success 
     //return callback(null, true); 
    } 
)); 

exports.isAuthenticated = passport.authenticate('basic', { session: false }); 

验证用户是否可以保证我的API http://localhost:2000/test使用LDAP或Facebook的身份验证。我正在寻找类似于SSO的东西。

预期结果

当我打http://localhost:2000/test,请求必须向LDAP或http://localhost:1000/运行来验证用户并发送从“用户认证”的响应Facebook服务器进行。 对此的任何帮助将非常有帮助。

回答

0

有几个方法可以实现,使用Node.js的

护照提供了很多不同的登录方式:twitter,google,facebook,linkedin,instagram。它们也很容易实现。

请在此检查:http://passportjs.org/docs

+0

是的我意识到这一点。但是当我调用http:// localhost:2000/test时,我怎么才能验证用户。示例我的ldap认证服务器运行在http:// localhost:1000/ldapauthentication – user4324324

+0

如果你想要一个代码示例:http://stackoverflow.com/questions/13255389/ldapjs-authentification-user-login-setup –