ZapWorks API JS client
This client wraps AppAuth, provides a clean way of connecting to the ZapWorks API and type definitions for all data sent back.
By default an OAuth2 Authorization Code Grant with PKCE will be used.
Examples of AppAuth usage:
https://github.com/openid/AppAuth-JS/blob/master/src/app/index.ts
https://github.com/openid/AppAuth-JS/blob/master/src/node_app/index.ts
Client usage on a browser (front-end)
const client = new zw.Client({
clientId: 'abc123',
redirectURI: 'https://example.com/oauth/callback/',
env: zw.Environment.Dev,
})
client.checkForAuthorizationResponse().then(async () => {
const qs = new URLSearchParams(location.search)
if (qs.get('error')) return
if (qs.get('code')) {
await client.makeTokenRequest()
}
client.getUser().then(console.log)
})
Client usage in NodeJS
const client = new zw.NodeClient({
clientId: 'abc123',
env: zw.Environment.Dev
})
await client.makeAuthorizationRequest()
console.log(await client.getUser())