passport-anonym-uuid
Passport strategy for anonymous authentication with a unique uuid for the anonymous user.
This module lets you provide anonymous authentication in your Node.js applications. By plugging into Passport, anonymous authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
Install
$ npm install passport-anonym-uuid
Usage
Configure Strategy
The anonymous authentication strategy passes authentication for a request,
with req.user
supplied with {uuid: "anonymous_<uuid>"}
.
passport.use(new AnonymIdStrategy());
If you pass a done
verify function to the strategy it will be supplied with req
and the generated uuid
.
With such verify callback, you can use this strategy the same way as passport-req. The strategy will not touch the user object returned by the callback.
Authenticate Requests
Use passport.authenticate()
, specifying the 'anonymId'
strategy, to
pass authentication of a request. This is typically used alongside a strategy
that verifies credentials, as a fallback for routes that prefer authentication
but can also respond to unauthenticated requests.
For example, as route middleware in an Express application:
app.post('/hello',
passport.authenticate(['basic', 'anonymId'], { session: false }),
function(req, res) {
if (!req.user.uuid) {
res.json({ name: req.user.username });
} else {
res.json({ name: req.user.uuid });
}
});
Examples
For a complete, working example, refer to the login example.
Tests
npm install
npm test
Credits
This package is almost a copy of passport-anonymous made by Jared Hanson.
License
Copyright (c) 2017 Honoré Nintunze