General OAuth support for electron App.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.jshintrc
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
README.md
index.js
package.json
upgrade.sh
yarn.lock

README.md

drawing 1

Build Status Coverage Status npm GitHub license Maintenance Donate

Use OAuth in a simple way inside your electron App.

Installation

add it to your electron project using npm install oauth-electron --save or yarn add oauth-electron

Usage

require oauth-electron exports a function that requires a javascript object and an electron window, as seen on the next example:

Oauth1

const login = require(`oauth-electron`)

let info = {
    key: ***,
    secret: ***,
    accessUrl: ***,
    authenticateUrl: ***,
    version: ***,
    authCallback: ***,
    signatureMethod: ***,
},
window = new BrowserWindow({webPreferences: {nodeIntegration: false}});

login.oauth1(info, window)

the login function will return a Promise with the access token and secret

{
    token: ***,
    tokenSecret: ***
}

Oauth2

const login = require('oauth-electron')

let info = {
    key: ***,
    secret: ***,
    scope: ***,
    baseSite: ***,
    authorizePath: ***,
    accessTokenPath: ***,
    redirectUrl: ***,
    responseType: ***, //this is optional if not provided it will default to 'code'
},
window = new BrowserWindow({webPreferences: {nodeIntegration: false}});

login.oauth2(info, window)

the login function will return a Promise with the access token and secret

{
    accessToken: ***,
    refreshToken: ***
}

Security

Consider this before you integrate this library in your application:

  • It is a bad practice to hardcode keys & secrets in code that is going to be shipped.
  • If you are looking to have your own backend, consider using it for authentication with 3rd party services. IETF RFC 8252.

Migration V0.x to V1.x

  • there is no more need for the oauth object, info becomes a basic object with the properties stated in the usage step.
  • the return object has a different format.
logo: Award,Passport graphics by Freepik from Flaticon are licensed under CC BY 3.0. Made with Logo Maker