node-steam-openid
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/node-steam-openid package

1.2.3 • Public • Published

node-steam-openid

npm version npm ci

A lightweight wrapper package around Steam's Authentication API, which supports promises :)

Requirements

  • Express @ 4.x

Usage

Install the package by typing npm i node-steam-openid in your project folder.

Setup

const SteamAuth = require("node-steam-openid");

const steam = new SteamAuth({
  realm: "http://localhost:5000", // Site name displayed to users on logon
  returnUrl: "http://localhost:5000/auth/steam/authenticate", // Your return route
  apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXX" // Steam API key
});

Routes

app.get("/auth/steam", async (req, res) => {
  const redirectUrl = await steam.getRedirectUrl();
  return res.redirect(redirectUrl);
});

app.get("/auth/steam/authenticate", async (req, res) => {
  try {
    const user = await steam.authenticate(req);

    //...do something with the data
  } catch (error) {
    console.error(error);
  }
});

Methods

getRedirectUrl

Gets the redirect URL to Steam.

Parameters

None

Returns

  • Promise (String)

Example

steam.getRedirectUrl().then(url => {
  //...do something with the url
});

authenticate

Authenticates the user with oAuth.

Parameters

  • request (ExpressJsRequest, Object)

Returns

  • Promise (UserObject)

Example

steam.authenticate(req).then(user => {
  //...do something with the user
});

Objects

UserObject

Object which holds all the authenticated user's data. The key _json holds the raw response from Steam API.

Example

{
  _json: { ... },
  steamid: "12345678912345678",
  username: "Example Username",
  name: "Example Name",
  profile: "https://steamcommunity.com/id/Example",
  avatar: {
    small: "...",
    medium: "...",
    large: "..."
  }
}

Contributing

See CONTRIBUTING.md for contributing guidelines.

Security

See SECURITY.md for security practices.

Development Roadmap

  • [ ] Add the ability to pass custom variables to Steam (query parameters)
  • [ ] Add support for Node.js native HTTP <http.IncomingMessage> class.

License

MIT <3

Readme

Keywords

Package Sidebar

Install

npm i node-steam-openid

Weekly Downloads

946

Version

1.2.3

License

MIT

Unpacked Size

14.3 kB

Total Files

7

Last publish

Collaborators

  • leevihalme