@ury1350/passport-myradio
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

passport-myradio

Node.js Passport strategy for MyRadio, to enable "Sign In with MyRadio" for Express/Passport sites

Installation

yarn add @ury1350/passport-myradio or npm install --save @ury1350/passport-myradio

Important Note

This module only works if your app is running on ury.org.uk or *.ury.org.uk.

Usage

Add passport-myradio:

const express = require("express");
const passport = require("passport");
const MyRadioStrategy = require("@ury1350/passport-myradio");

const app = express();

passport.use("myradio", new MyRadioStrategy({
  myradioBaseUrl: "https://ury.org.uk/myradio",
  myradioApiBaseUrl: "https://ury.org.uk/api",
  websiteBaseUrl: "https://ury.org.uk",
  myradioApiKey: "<INSERT_API_KEY_HERE>",
  loginCallbackUrl: "https://yourwebsite.ury.org.uk/login/myradio/callback",
  mixins: ["personal_data", "all_officerships", "shows", "payment], // change this
  userAgent: "Your-App/1.0"
}, (user, cb) => {
  // Do things with user, then
  cb(null, user);
});

app.get("/login/myradio", passport.authenticate("myradio"));

app.get(
  "/login/myradio/callback", 
  passport.authenticate("myradio"),
  (req, res) => {/* do things with req.user */}
);

Configuration Options

Name Type Required Description Example
myradioBaseUrl String Yes The base of the MyRadio installation, with no trailing slash "https://ury.org.uk/myradio"
myradioApiBaseUrl String Yes The base of the MyRadio API, with no trailing slash and no version "https://ury.org.uk/api"
websiteBaseUrl String Yes The installation website's base URL, with no trailing slash "https://ury.org.uk"
myradioApiKey String Yes An API key. Note that using it with no mixins requires no permissions, but using one of the mixins requires the appropriate permissions (for details, see myury.api_mixin_auth in the DB) "YOUR_API_KEY_HERE"
loginCallbackUrl String Yes Where to redirect the user when they are signed in "https://yourwebsite.ury.org.uk/login/myradio/callback"
mixins String[] No Mixins to add to the user object from the API ["personal_data", "all_officerships"]
userAgent String No User-Agent header to set. If none supplied uses a default. "Your-App/1.0"
enforceRedirect Boolean No Whether to initially redirect the user to the callback URL even if they are already logged in false
failureMode String No If the user is not logged in, whether to redirect them to login or just fail. Defaults to "redirect". "redirect"

Readme

Keywords

none

Package Sidebar

Install

npm i @ury1350/passport-myradio

Weekly Downloads

2

Version

1.1.2

License

MIT

Unpacked Size

13.7 kB

Total Files

10

Last publish

Collaborators

  • markspolakovs-npm