passport-etsy v0.1.0
passport-etsy
Etsy (OAuth) authentication strategy for Passport and Node.js.
Install
$npm install passport-etsyUsage
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
verifycallback 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 prepublishto populatedistfromlibvia Node Security (gulp-nsp) and Babel (gulp-babel),gulp testto lint, unit-test and code-coverage source using ESLint (gulp-eslint), Mocha (gulp-mocha) and Coveralls (gulp-coveralls), orgulp-serveto 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
etsyCredentialsfunction 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-prepublishto repopulatedistwith your changes.
Additional Information:
- Passport passport-oauth passport-oauth1 by Jared Hanson
- Etsy Authentication
Contact
Anwar Hahj Jefferson-George: Github | Google+
License
10 years ago