Code Monkey home page Code Monkey logo

electron-steam-openid's Introduction

electron-steam-openid Build Status

A library to handle Steam authentication with OpenID, for your Electron app.

Install

$ npm install --save electron-steam-openid

Usage

const electronSteamAuth = require('electron-steam-openid');

var config = {
  redirectUri: 'http://localhost'
};

app.on('ready', () => {
  const windowParams = {
    alwaysOnTop: true,
    autoHideMenuBar: true,
    webPreferences: {
      nodeIntegration: false
    }
  }

  const auth = electronSteamAuth(config, windowParams);

  auth.authenticate(options)
    .then(token => {
      // use your token.steam_id
    });
});

API

electronSteamAuth(config, windowParams)

config

Type: Object Sets custom openid.RelyingParty() params

windowParams

Type: Object

An object that will be used to create the BrowserWindow. Details: Electron BrowserWindow documention

Methods

getAuthorizationCode(options)

Returns a Promise that gets resolved with the authorization details of the OpenID authorization request.

Adapted from

electron-oauth2

License

MIT

electron-steam-openid's People

Contributors

darthmorf avatar dependabot[bot] avatar vincent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

darthmorf

electron-steam-openid's Issues

Callback not being executed!

Right now, it seems as though calling auth.authenticate().then() is simply not working. The callback is not being called, even after inputting steam credentials. Can you check to see if this is the case? The current version is marked as 'Build Failing', so I'd assume it would have to do with that. Please check on this for me, or give me some hints as to how to fix it myself!

Using the token in html files

Hi, I've used the example code from the NPM page in my main.js file, and tried to use IPC to send it across to the index.html file for use in an app that requires Steam sign in, but it doesn't seem to work. Could you provide some support w/ possible examples/ways I could do this. Thanks.

I think I know what I've done wrong, but I dont know how i would correctly do it - the ipc.on('getUserInfo') is only called when auth.authenticate is, therefore not detecting the getUserInfo event and sending the reply.

main.js:
`//Electron Steam OpenID
const windowParams = {
width: 1000,
height: 600,
resizable: false,
icon: path.join(__dirname, 'assets/images/lfs.ico'),
backgroundColor: '#333333',
frame: false,
alwaysOnTop: true,
autoHideMenuBar: true,
webPreferences: {
nodeIntegration: false
}
}

const auth = electronSteamAuth(config, windowParams);

auth.authenticate("[removed]")
.then(token => {
console.log(token)
ipc.on('getUserInfo', (event, arg) => {
event.sender.send('getUserInfo-reply', token);
})
mainWindow.show()
});`

index.html:
<h1 class="username" id="username"></h1> <script> var ipcRenderer = require('electron').ipcRenderer; ipcRenderer.send('getUserInfo') ipcRenderer.on('getUserInfo-reply', (event, data) => { var userdata = processData(data); document.getElementById("username").innerHTML = userdata.steam_id; console.log("success") }); </script>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.