Package Exports
- @zappar/zw-api-client
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@zappar/zw-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 // Display auth error to user
if (qs.get('code')) { // check if we got a code on the callback request
await client.makeTokenRequest() // request an access token
}
// from here the client has an access token to call the API
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())