1.1.2 • Published 4 years ago

@ury1350/passport-myradio v1.1.2

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

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

NameTypeRequiredDescriptionExample
myradioBaseUrlStringYesThe base of the MyRadio installation, with no trailing slash"https://ury.org.uk/myradio"
myradioApiBaseUrlStringYesThe base of the MyRadio API, with no trailing slash and no version"https://ury.org.uk/api"
websiteBaseUrlStringYesThe installation website's base URL, with no trailing slash"https://ury.org.uk"
myradioApiKeyStringYesAn 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"
loginCallbackUrlStringYesWhere to redirect the user when they are signed in"https://yourwebsite.ury.org.uk/login/myradio/callback"
mixinsString[]NoMixins to add to the user object from the API["personal_data", "all_officerships"]
userAgentStringNoUser-Agent header to set. If none supplied uses a default."Your-App/1.0"
enforceRedirectBooleanNoWhether to initially redirect the user to the callback URL even if they are already logged infalse
failureModeStringNoIf the user is not logged in, whether to redirect them to login or just fail. Defaults to "redirect"."redirect"
1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago