passport-headerapikey (2024)

passport-headerapikey (1)passport-headerapikey (2)

Passport strategy for authenticating with a apikey.

This module lets you authenticate using a apikey in your Node.jsapplications which is used to build rest apis. By plugging into Passport, apikey authentication can be easily andunobtrusively integrated into any application or framework that supportsConnect-style middleware, includingExpress.

Installation

$ npm install passport-headerapikey

Usage

Configure Strategy

The api key authentication strategy authenticates users using a apikey.The strategy requires a verify callback, which accepts thesecredentials and calls done providing a user.

passport.use(new HeaderAPIKeyStrategy( { header: 'Authorization', prefix: 'Api-Key ' }, false, function(apikey, done) { User.findOne({ apikey: apikey }, function (err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } return done(null, user); }); }));

Authenticate Requests

Use passport.authenticate(), specifying the 'headerapikey' strategy, toauthenticate requests.

For example, as route middleware in an Expressapplication:

app.post('/api/authenticate', passport.authenticate('headerapikey', { session: false, failureRedirect: '/api/unauthorized' }), function(req, res) { res.json({ message: "Authenticated" }) });

API

Constructor
new HeaderAPIKeyStrategy(header, passReqToCallback, verify);

Arguments:

  • headerConfig (Object):
    • header (String): name of the header field to be used for api keys, default: X-Api-Key.
    • prefix (String): prefix to be used in content of the header, eg. Bearer adsfadsfa, default: empty. Attention: give it with blank if needed, eg. 'Bearer '.
  • passReqToCallback (Boolean): flags whether an express Request object is passed to the verify function.
  • verify (Function):
    • apiKey (String): parsed API key from from the request. Use it to determine, which user is using your endpoint.
    • verified (Function): Callback to be called when you have done the API key handling. Signature: verify(err, user, info) => void.
      • err (Error): return an Error if user is not verified, otherwise yield null here
      • user (Object, optional): only return user object if he is verified.
      • info(Object, optional): yield additional information to success or failure of user verification.
    • req (express.Request, optional): express Request object if passReqToCallback is set to true.

Examples

curl -v --header "Authorization: Api-Key asdasjsdgfjkjhg" http://127.0.0.1:3000/api/authenticate

Contributing

Clone the repo, then

npm installnpm run install-typings

and here we go.Develop your new features or fixes, test it using npm test and create a pull request.

Credits

npm install passport-headerapikey

  • 46 downloads in the last day
  • 259 downloads in the last week
  • 1,042 downloads in the last month

Supported by

passport-headerapikey (2024)
Top Articles
Why Your Student Loan Balance Never Seems to Get Any Smaller
Your smart TV is snooping on you. Here's how to limit the personal data it gathers
Amtrust Bank Cd Rates
Kobold Beast Tribe Guide and Rewards
Wausau Marketplace
<i>1883</i>'s Isabel May Opens Up About the <i>Yellowstone</i> Prequel
Noaa Weather Philadelphia
Dark Souls 2 Soft Cap
Craigslist Free Grand Rapids
William Spencer Funeral Home Portland Indiana
Voyeuragency
Nj State Police Private Detective Unit
boohoo group plc Stock (BOO) - Quote London S.E.- MarketScreener
Allybearloves
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Minnick Funeral Home West Point Nebraska
Wics News Springfield Il
Disputes over ESPN, Disney and DirecTV go to the heart of TV's existential problems
Prot Pally Wrath Pre Patch
Rugged Gentleman Barber Shop Martinsburg Wv
New Stores Coming To Canton Ohio 2022
Xpanas Indo
The Goonies Showtimes Near Marcus Rosemount Cinema
Mini-Mental State Examination (MMSE) – Strokengine
Craigslist Auburn Al
Calvin Coolidge: Life in Brief | Miller Center
Poe T4 Aisling
Citibank Branch Locations In Orlando Florida
Fastpitch Softball Pitching Tips for Beginners Part 1 | STACK
Wega Kit Filtros Fiat Cronos Argo 1.8 E-torq + Aceite 5w30 5l
Play 1v1 LOL 66 EZ → UNBLOCKED on 66games.io
About | Swan Medical Group
Ourhotwifes
Composite Function Calculator + Online Solver With Free Steps
Etowah County Sheriff Dept
20+ Best Things To Do In Oceanside California
How to play Yahoo Fantasy Football | Yahoo Help - SLN24152
Hellgirl000
Verizon Outage Cuyahoga Falls Ohio
Casamba Mobile Login
Directions To The Closest Auto Parts Store
Karen Wilson Facebook
Ig Weekend Dow
Thothd Download
Huntsville Body Rubs
French Linen krijtverf van Annie Sloan
Blog Pch
Aaca Not Mine
BYU Football: Instant Observations From Blowout Win At Wyoming
8663831604
Latest Posts
Article information

Author: Jonah Leffler

Last Updated:

Views: 6052

Rating: 4.4 / 5 (65 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Jonah Leffler

Birthday: 1997-10-27

Address: 8987 Kieth Ports, Luettgenland, CT 54657-9808

Phone: +2611128251586

Job: Mining Supervisor

Hobby: Worldbuilding, Electronics, Amateur radio, Skiing, Cycling, Jogging, Taxidermy

Introduction: My name is Jonah Leffler, I am a determined, faithful, outstanding, inexpensive, cheerful, determined, smiling person who loves writing and wants to share my knowledge and understanding with you.