pocket-auth
A small node.js library for authenticating with the Pocket API.
pocket-auth
requires a minimum NodeJS version of 6.0
The Pocket Auth Flow
Pocket use a modified oauth
flow for gaining an access token that looks like the following:
Example Usage
You can use this library with either a Promise or a Callback based interface
async/await
async function main() {
try {
var auth = require("pocket-auth");
var consumerKey = "your-consumer-key";
var redirectUri = "https://google.com";
let code = await auth.fetchToken(consumerKey, redirectUri, {});
let uri = auth.getRedirectUrl(code.code, redirectUri);
console.log("Visit the following URL and click approve in the next 10 seconds:");
console.log(uri);
setTimeout(async function(){
try {
let r = await auth.getAccessToken(consumerKey, code.code);
console.log(r);
} catch (err) {
console.log("You didn't click the link and approve the application in time");
}
}, 10000);
} catch (err) {
console.log(err);
}
}
main();
Callback
var auth = require("pocket-auth");
var consumerKey = "your-consumer-key";
var redirectUri = "https://google.com";
auth.fetchToken(consumerKey, redirectUri, {}, function(err, code) {
let uri = auth.getRedirectUrl(code.code, redirectUri);
console.log("Visit the following URL and click approve in the next 10 seconds:");
console.log(uri);
setTimeout(async function(){
auth.getAccessToken(consumerKey, code.code, function(err, r) {
if (err) {
console.log("You didn't click the link and approve the application in time");
return;
}
console.log(r);
});
}, 10000);
});