Miss any of our Open RFC calls?Watch the recordings here! »

pocket-auth

1.2.0 • Public • Published

pocket-auth

A small node.js library for authenticating with the Pocket API.

Build Status

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);
});
 

Keywords

none

Install

npm i pocket-auth

DownloadsWeekly Downloads

17

Version

1.2.0

License

none

Last publish

Collaborators

  • avatar