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.
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