Socket
Socket
Sign inDemoInstall

oauth-electron

Package Overview
Dependencies
5
Maintainers
1
Versions
124
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    oauth-electron

easy oauth generic handling for electron


Version published
Weekly downloads
79
increased by58%
Maintainers
1
Install size
220 kB
Created
Weekly downloads
 

Readme

Source

drawing 1

Build Status codecov 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')
const { BrowserWindow, session } = require('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, session)

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

{
    accessToken: ***,
    refreshToken?: ***,
    <others: ***>
}

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 V1.x to V2.x

  • Please refer to the response of the service, as there will probably be extra fields in the response
  • session is required to be passed as events of chromium have changed

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

Keywords

FAQs

Last updated on 03 May 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc