Magic SSO Admin Javascript SDK
Magic SSO Admin SDK provides an easy interface for integrating parties to implement SAML/SSO authentication offered by the Magic platform to select vendors.
Installation
This is an experimental SSO implementation using magic intended only for select partners. As such, the module is not available via NPM's package registry and should instead be installed via GitHub directly.
npm install --save @magic-sdk/sso
or
yarn add @magic-sdk/sso
Usage
Generating a SAML Project and configuring a provider
const MagicSSO = require('@magic-sdk/sso');
const magicSSO = new MagicSSO(‘YOUR_DEVELOPER_SECRET_KEY’);
const SAMLConnectionInfo = await magicSSO.addSamlConnection();
await magicSSO.setProvider({
project_id,
entity_id,
redirect_url,
issuer,
sso_url,
signing_certificate,
metadata_url,
options,
});
Logging in a SAML user
import express from 'express';
const MagicSSO = require('@magic-sdk/sso');
const app = express();
const magicSSO = new MagicSSO(‘YOUR_DEVELOPER_SECRET_KEY’);
app.get('/auth', async (req: any, res: any) => {
try {
const { projectID } = req.query;
const authorizationURL = await magicSSO.getAuthorizationUrl(projectID);
res.redirect(authorizationURL);
} catch (err) {
console.error(err);
}
});
app.get('/callback', async (req: any, res: any) => {
try {
const { code } = req.query;
const userInfo = await magicSSO.getProfile(code);
res.redirect('/');
} catch (err) {
console.error(err);
}
});
Refer to src/node-e2e/app.ts
for reference implementation