passport-etsy
v0.1.0
Published
Etsy (OAuth) authentication strategy for Passport and Node.js
Downloads
2
Maintainers
Readme
passport-etsy
Etsy (OAuth) authentication strategy for Passport and Node.js.
Install
$npm install passport-etsy
Usage
I. Obtain App Credentials:
II. Configure Strategy
The Etsy authentication strategy uses an Etsy account and OAuth tokens to authenticate users. It requires:
A
consumerKey
,consumerSecret
, andcallbackURL
, andA
verify
callback that accepts these credentials and provides the user todone
passport.use(new EtsyStrategy({
consumerKey: 'YOUR_KEY_GOES_HERE',
consumerSecret: 'YOUR_SECRET_GOES_HERE',
callbackURL: 'http://127.0.0.1:4181/auth/etsy/callback'
},
function (token, tokenSecret, profile, done){
User.findOrCreate({etsyID: profile.id})
}
));
III. Authenticate Requests
You can authenticate requests using passport.authenticate()
and specifying the 'etsy'
strategy.
In an Express application, create route middleware as follows:
app.get('/auth/etsy', passport.authenticate('etsy'));
app.get('/auth/etsy/callback', passport.authenticate('etsy', {
failureRedirect: '/login'
successRedirect: '/home'
})
);
Scope parameters
Etsy auth requests can include multiple scope
request parameters.
While you can authenticate as above without adding scope
, doing so reduces the
amount of actions you can take with the Etsy API.
app.get('/auth/etsy', passport.authenticate('etsy', {
scope: ['profile_r', 'email_r', 'listings_r', 'profile_w']
}));
Module Structure
This module's package.json
uses seeks code in its dist
folder. Source is in the lib
folder.
The project was scaffolded using Yeoman/generator-node.
It uses gulp build system, so you can execute:
gulp prepublish
to populatedist
fromlib
via Node Security (gulp-nsp) and Babel (gulp-babel),gulp test
to lint, unit-test and code-coverage source using ESLint (gulp-eslint), Mocha (gulp-mocha) and Coveralls (gulp-coveralls), orgulp-serve
to run an example server using the code inexamples/login
(see below)
Testing
Before running gulp-test
, please gulp-prepublish
, as tests are applied to compiled sources
in dist
.
After running gulp-test
, you can find coverage reports in the coverage
folder
Using the Provided Examples
Before trying gulp-serve
, please:
- Provide your Etsy credentials (keystring, secret) to the example code. You may:
- Insert them in the
etsyCredentials
function ofexamples/login/config/passport.config.js
, or - Follow the instructions in
examples/login/trialdata/README.md
- If you have changed the code in
lib
, executegulp-prepublish
to repopulatedist
with your changes.
Additional Information:
- Passport passport-oauth passport-oauth1 by Jared Hanson
- Etsy Authentication
Contact
Anwar Hahj Jefferson-George: Github | Google+