I develop a restful nodeJS API protected by a oauth2 authentication using passport.
var express = require('express');
var passport = require('passport');
var port = process.env.PORT || 8080;
var app = express();
app.use(passport.initialize());
// Create our Express router
var router = express.Router();
var creatureController = require('./controllers/creature');
router.route('/creature').get(passport.authenticate('accessToken', {session: false}), creatureController.getProfile);
In this case, the route is protected and it requires to send a valid token in order to access to the route.
I want to find a way to authenticate my "users" manually, by calling a function, which take the username and password of the user I want to authenticate.
The local authentication strategy authenticates users using a username and password. The strategy requires a verify callback, which accepts these credentials and calls done providing a user.
Passport is a popular, modular authentication middleware for Node. js applications. With it, authentication can be easily integrated into any Node- and Express-based app. The Passport library provides more than 500 authentication mechanisms, including OAuth, JWT, and simple username and password based authentication.
Passport exposes a req.login()
function that can be used to login the user manually.
app.post('/login', function (req, res, next) {
var user = User.findOrCreate(req.body);
// … your authentication or whatever
req.login(user, function(err){
if(err) return next(err);
res.redirect('/home');
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With