Auth0 Webtask Widget
Usage
var containerEl = document.getElementById('container');
var editor = webtaskWidget.createEditor({
mount: containerEl,
storeProfile: true,
});
editor.on('save', function (webtask) {
console.log('I just saved a webtask that can be accessed at', webtask.url);
});
API
Functions
- showCronListing([options])
Create a widget that lists cron jobs associated with the active profile
- showEditor([options])
Create a widget that lets users create or edit Webtasks and Cron Jobs
- showLogin([options])
Create a widget that allows users to obtain Sandbox credentials
- showLogs([options])
Create a widget that streams logs for a container
showCronListing([options])
Create a widget that lists cron jobs associated with the active profile
Kind: global function
Param | Type | Description |
---|
[options] | Object | Customize the behaviour and appearance of the widget |
[options.mount] | HTMLElement | Indicate where the widget should be mounted. If not specified the widget will be shown as a modal dialog. |
[options.url] | String | The url of the Webtask cluster to be used. Defaults to https://webtask.it.auth0.com. |
[options.token] | String | The webtask token of the current user. If missing, and no {@see options.readProfile} profided, the SMS/email login flow will be triggered. |
[options.container] | String | The webtask container of the current user. If missing, will be derived from {@see options.token}, from the result of {@see options.readProfile}, or finally from the result of the SMS/email login flow. |
[options.readProfile] | function | A function that should return a Object or a Promise for an object with url , token and container properties. |
[options.writeProfile] | function | A function that will be called with the resolved Profile that should return a Promise that resolves once the profile has been written. |
[options.storageKey] | function | A key that will be used by localStorage to read/write the resolved Profile when you do not use pass in custom {@see options.readProfile} and {@see options.writeProfile} functions. |
showEditor([options])
Create a widget that lets users create or edit Webtasks and Cron Jobs
Kind: global function
Param | Type | Description |
---|
[options] | Object | Customize the behaviour and appearance of the widget |
[options.mount] | HTMLElement | Indicate where the widget should be mounted. If not specified the widget will be shown as a modal dialog. |
[options.url] | String | The url of the Webtask cluster to be used. Defaults to https://webtask.it.auth0.com. |
[options.token] | String | The webtask token of the current user. If missing, and no {@see options.readProfile} profided, the SMS/email login flow will be triggered. |
[options.container] | String | The webtask container of the current user. If missing, will be derived from {@see options.token}, from the result of {@see options.readProfile}, or finally from the result of the SMS/email login flow. |
[options.readProfile] | function | A function that should return a Object or a Promise for an object with url , token and container properties. |
[options.writeProfile] | function | A function that will be called with the resolved Profile that should return a Promise that resolves once the profile has been written. |
[options.storageKey] | function | A key that will be used by localStorage to read/write the resolved Profile when you do not use pass in custom {@see options.readProfile} and {@see options.writeProfile} functions. |
showLogin([options])
Create a widget that allows users to obtain Sandbox credentials
Kind: global function
Param | Type | Description |
---|
[options] | Object | Customize the behaviour and appearance of the widget |
[options.mount] | HTMLElement | Indicate where the widget should be mounted. If not specified the widget will be shown as a modal dialog. |
[options.url] | String | The url of the Webtask cluster to be used. Defaults to https://webtask.it.auth0.com. |
[options.token] | String | The webtask token of the current user. If missing, and no {@see options.readProfile} profided, the SMS/email login flow will be triggered. |
[options.container] | String | The webtask container of the current user. If missing, will be derived from {@see options.token}, from the result of {@see options.readProfile}, or finally from the result of the SMS/email login flow. |
showLogs([options])
Create a widget that streams logs for a container
Kind: global function
Param | Type | Description |
---|
[options] | Object | Customize the behaviour and appearance of the widget |
[options.mount] | HTMLElement | Indicate where the widget should be mounted. If not specified the widget will be shown as a modal dialog. |
[options.url] | String | The url of the Webtask cluster to be used. Defaults to https://webtask.it.auth0.com. |
[options.token] | String | The webtask token of the current user. If missing, and no {@see options.readProfile} profided, the SMS/email login flow will be triggered. |
[options.container] | String | The webtask container of the current user. If missing, will be derived from {@see options.token}, from the result of {@see options.readProfile}, or finally from the result of the SMS/email login flow. |
[options.readProfile] | function | A function that should return a Object or a Promise for an object with url , token and container properties. |
[options.writeProfile] | function | A function that will be called with the resolved Profile that should return a Promise that resolves once the profile has been written. |
[options.storageKey] | function | A key that will be used by localStorage to read/write the resolved Profile when you do not use pass in custom {@see options.readProfile} and {@see options.writeProfile} functions. |
Build
Development workflow
git clone git@github.com:auth0/auth0-webtask-widget.git
cd auth0-webtask-widget
npm install
npm run develop
This starts webpack-dev-server
at http://localhost:8080.
The script will watch all dependencies and recompile on changes. Everything is
served from memory with source-maps.
Production build
npm run build
This creates builds in the ./dist
folder.
Two builds are created:
webtask.js
- Production bundle.webtask.min.js
- Development bundle.
Concepts
Profile
A profile represents a user's claim to create and run webtasks on a webtask cluster as defined by sandboxjs:
Profiles are the combination of:
url
- The url of the webtask clustercontainer
- The container in which the webtask will be runtoken
- The user's webtask Token
Token
A webtask token is a JSON Web Token that encodes a user's claims to perform actions on a webtask cluster. See: the webtask documentation for details on how this works.
Webtask
A webtask is a claim to run code at a url where that code will have access to any secrets embedded in the webtask.
Webtask objects expose several properties and methods.
Issue Reporting
If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
Author
Auth0
License
This project is licensed under the MIT license. See the LICENSE file for more info.