@authorizerdev/authorizer-js
is universal javaScript SDK for Authorizer API.
It supports:
- UMD (Universal Module Definition) build for browsers
- CommonJS(cjs) build for NodeJS version that don't support ES Modules
- ESM (ES Modules) build for modern javascript standard, i.e. ES Modules
2.x
version of @authorizerdev/authorizer-js
has a uniform response structure that will help your applications to get right error codes and success response. Methods here have {data, errors}
as response objects for methods of this library.
For 1.x
version of this library you can get only data in response and error would be thrown so you had to handle that in catch.
All the above versions require Authorizer
instance to be instantiated and used. Instance constructor requires an object with the following keys
Key | Description |
---|---|
authorizerURL |
Authorizer server endpoint |
redirectURL |
URL to which you would like to redirect the user in case of successful login |
Example
const authRef = new Authorizer({
authorizerURL: 'https://app.herokuapp.com',
redirectURL: window.location.origin,
});
- Step 1: Load Javascript using CDN
<script src="https://unpkg.com/@authorizerdev/authorizer-js/lib/authorizer.min.js"></script>
- Step 2: Use the library to instantiate
Authorizer
instance and access various methods
<script type="text/javascript">
const authorizerRef = new authorizerdev.Authorizer({
authorizerURL: `AUTHORIZER_URL`,
redirectURL: window.location.origin,
clientID: 'YOUR_CLIENT_ID', // can be obtained from authorizer dashboard
});
// use the button selector as per your application
const logoutBtn = document.getElementById('logout');
logoutBtn.addEventListener('click', async function () {
await authorizerRef.logout();
window.location.href = '/';
});
async function onLoad() {
const { data, errors } = await authorizerRef.authorize({
response_type: 'code',
use_refresh_token: false,
});
if (data && data.access_token) {
// get user profile using the access token
const { data: user, errors } = await authorizerRef.getProfile({
Authorization: `Bearer ${res.access_token}`,
});
// logoutSection.classList.toggle('hide');
// userSection.innerHTML = `Welcome, ${user.email}`;
}
}
onLoad();
</script>
- Step 1: Install dependencies
npm i --save @authorizerdev/authorizer-js
OR
yarn add @authorizerdev/authoirzer-js
- Step 2: Import and initialize the authorizer instance
const { Authorizer } = require('@authorizerdev/authoirzer-js');
const authRef = new Authorizer({
authorizerURL: 'https://app.heroku.com',
redirectURL: 'http://app.heroku.com/app',
});
async function main() {
await authRef.login({
email: 'foo@bar.com',
password: 'test',
});
}
- Step 1: Install dependencies
npm i --save @authorizerdev/authorizer-js
OR
yarn add @authorizerdev/authorizer-js
- Step 2: Import and initialize the authorizer instance
import { Authorizer } from '@authorizerdev/authorizer-js';
const authRef = new Authorizer({
authorizerURL: 'https://app.heroku.com',
redirectURL: 'http://app.heroku.com/app',
});
async function main() {
await authRef.login({
email: 'foo@bar.com',
password: 'test',
});
}
- Clone the repository
- Install dependencies using
pnpm install
- Run
pnpm build
to build the library - Run
pnpm test
to run the tests
- Run
pnpm release
to release a new version of the library