clavem

A local callback server for oAuth web-flow.

Usage no npm install needed!

<script type="module">
  import clavem from 'https://cdn.skypack.dev/clavem';
</script>

README

clavem.js

END OF DEVELOPMENT NOTICE - This package has been discontinued

A local callback server for oAuth web-flow.

Supported implementations.

Clavem.js supports and has been tested on NodeJS 6.0+.

Usage from the CLI

Clavem.js allows you to handle a full oAuth authentication flow directly from the console.

Simply install it by issuing:

npm install -g clavem

Then run the command providing the main URL.

Let's say you have a Facebook Apps whose id is abcd and secret is 1234, you can obtain a token by running:

clavem "clavem://abcd:1234@facebook/manage_pages"

where manage_pages must be a comma separated list of scopes you want to have access to.

The executable will open the user's browser, handle the authentication and then print the result both on the browser and on the console.

Usage from the API

The API equivalent for the CLI example above is like the following:

const Clavem = require('clavem')

const client = new Clavem()

client
  .authorize('clavem://abcd:1234@facebook/manage_pages')
  .then(token => {
    console.log(`SUCCESS: Authorization succeded. The authorization token is: ${token}`)
  })
  .catch(e => {
    switch (e.code) {
      case 'DENIED':
        console.error('ERROR: Authorization denied.')
        break
      case 'TIMEOUT':
        console.error('ERROR: Authorization timed out.')
        break
      default:
        console.error(`ERROR: Authorization failed due to an error - ${e.message}`)
        break
    }
  })

API Documentation

The API documentation can be found here.

Contributing to clavem.js

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.

Copyright

Copyright (C) 2016 and above Shogun mailto:shogun@cowtech.it.

Licensed under the MIT license, which can be found at https://choosealicense.com/licenses/mit.