
Product
Introducing Manifest Alerts
Socket now detects supply chain risks in project manifests, starting with missing lockfiles that can make dependency installs non-reproducible.
passport-phantauth
Advanced tools
Passport strategy for authenticating with PhantAuth using the OpenID Connect API.
PhantAuth is a Random User Generator + OpenID Connect Provider. Like Lorem Ipsum, but for user accounts and authentication. PhantAuth was designed to simplify testing for applications using OpenID Connect authentication by making use of random generated users.
This module lets you authenticate using PhantAuth in your Node.js applications. By plugging into Passport, PhantAuth authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
For more information about PhantAuth, check PhantAuth Developer Portal.
$ npm install passport-phantauth
The PhantAuth authentication strategy authenticates users using a PhantAuth account
and OpenID Connect tokens. The strategy requires a verify callback, which accepts
these credentials and calls done providing a user, as well as options
specifying a client ID, client secret, and callback URL.
const PhantAuthStrategy = require('passport-phantauth').Strategy;
passport.use(
new PhantAuthStrategy(
{
clientID: client_id,
clientSecret: client_secret,
callbackURL: 'http://localhost:8888/auth/phantauth/callback'
},
function(accessToken, refreshToken, expires_in, profile, done) {
User.findOrCreate({ userId: profile.id }, function(err, user) {
return done(err, user);
});
}
)
);
Use passport.authenticate(), specifying the 'phantauth' strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.get('/auth/phantauth', passport.authenticate('phantauth'), function(req, res) {
// The request will be redirected to PhantAuth for authentication, so this
// function will not be called.
});
app.get(
'/auth/phantauth/callback',
passport.authenticate('phantauth', { failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
}
);
Depending on the data you want to fetch, you may want to specify OpenID Connect scopes. For more information about scopes check OpenID Connect Core.
By default, all OpenID Connect scope is passed. That means that you fetch all information.
You can specify the parameters in the authenticate call:
app.get(
'/auth/phantauth',
passport.authenticate('phantauth', {
scope: ['profile', 'email']
}),
function(req, res) {
// The request will be redirected to PhantAuth for authentication, so this
// function will not be called.
}
);
For a complete, working example, check Phantauth Sample Passport website. For source, refer to GitHub repository).
For a minimal, working example, refer to the login example.
$ npm install --dev
$ make test
based on passport-spotify by José M. Pérez
FAQs
PhantAuth authentication strategy for Passport.
The npm package passport-phantauth receives a total of 6 weekly downloads. As such, passport-phantauth popularity was classified as not popular.
We found that passport-phantauth demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now detects supply chain risks in project manifests, starting with missing lockfiles that can make dependency installs non-reproducible.

Research
/Security News
The trojanized extensions use TinyGo-compiled WebAssembly and Solana transaction memos to resolve command-and-control infrastructure.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.