Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
passport-client-certificate
Advanced tools
Readme
Passport strategy for authenticating using client certificates.
This module lets you authenticate using client certificates in Node.js applications. Client certificate authentication can be added any application or framework that supports Connect-style middleware, including Express. Optionally, using koa-passport it can be integrated into Koa
$ npm install passport-client-certificate
The client cert authentication strategy authenticates requests based on the client certificate credentials submitted in the TLS handshake
Applications must supply a verify
callback which accepts the client
certificate. It then calls the done
callback supplying a
user
. User should be set to false
if the credentials are not valid. If
an exception occured, err
should be set.
Options:
- passReqToCallback
when true
, req
is the first argument to the
verify callback (default: false
)
Examples:
passport.use(new ClientCertStrategy(
function (certificate, done) {
if (!config.auth.client_certificates_enabled) {
return done(new UnauthorizedError('Unsupported authentication method'))
}
const fingerprint = clientCert.fingerprint.toUpperCase()
Account.findByFingerprint(fingerprint)
.then(function (userObj) {
if (!userObj || userObj.is_disabled || userObj.fingerprint !== fingerprint) {
return done(new UnauthorizedError('Unknown or invalid account'))
}
done(null, userObj)
})
}))
Use passport.authenticate()
, specifying the 'client-cert'
strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.post('/login',
passport.authenticate('client-cert', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/');
});
$ npm install
$ npm test
Setting up certificates for the test application is based on https://github.com/anders94/https-authorized-clients/.
FAQs
Passport middleware for client certificate authentication
The npm package passport-client-certificate receives a total of 7 weekly downloads. As such, passport-client-certificate popularity was classified as not popular.
We found that passport-client-certificate 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
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.