oauth-electron-facebook

oauth for facebook inside electron

Usage no npm install needed!

<script type="module">
  import oauthElectronFacebook from 'https://cdn.skypack.dev/oauth-electron-facebook';
</script>

README

logo_fb">

Build Status codecov npm GitHub license Maintenance Donate

Use Facebook OAuth in a simple way inside your electron App.

Installation

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

Usage

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

const auth = require('oauth-electron-facebook')
const { BrowserWindow, session } = require('electron')

let info = {
    key: ***,
    secret: ***,
    scope: ***
},
window = new BrowserWindow({webPreferences: {nodeIntegration: false}});

auth.login(info, window, session)

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

{
    "access_token":<string>,
    "token_type":<string>,
    "expires_in":<number>
}

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

  • the response from facebook has changed so please adapt, there does not seem to be any refresh token anymore
  • session is required to be passed as events of chromium have changed
  • localhost is not anymore an accepted url for redirect configure and use "https://www.facebook.com/connect/login_success.html"

Migration V0.x to V1.x

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