下面是代码,我尝试使用第三方提供商进行身份验证。我的身份验证调用是在不同服务器上运行的服务api。如何在我的代码中验证用户
//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 });
是否可以使用LDAP或Facebook身份验证来保护我的api http://localhost:2000/test。我正在寻找类似于SSO的东西。
预期结果
当我点击http://localhost:2000/test时,必须向http://localhost:1000/中运行的LDAP或facebook服务器发出请求以验证用户并从“用户身份验证”发送响应。 任何有关这方面的帮助都会非常有用。
答案 0 :(得分:0)
使用node.js
可以实现这一目标Passport提供了大量不同的登录可能性:twitter,google,facebook,linkedin,instagram。它们也很容易实现。