Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

oauth-electron

Package Overview
Dependencies
Maintainers
1
Versions
141
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oauth-electron

easy oauth generic handling for electron

  • 2.0.65
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
13
increased by116.67%
Maintainers
1
Weekly downloads
 
Created
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

Package last updated on 06 Oct 2023

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc