Anonymous authentication strategy for Passport that supply an 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.
$ npm install passport-anonym-uuid
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.
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 });
}
});
For a complete, working example, refer to the login example.
$ npm install
$ npm test
This package is almost a copy of passport-anonymous made by Jared Hanson.
Copyright (c) 2017 Honoré Nintunze