@bearer/js
The hassle-free way to use bearer's integrations into any web application
Getting started
Bearer lib can be used instantly in your page or with a package system.
Directly in your page
<script src="https://cdn.jsdelivr.net/npm/@bearer/js@latest/lib/bearer.production.min.js"></script>
<script>
const bearerClient = bearer('clientId')
</script>
With a build system
yarn add @bearer/js
npm install @bearer/js
In your app
import bearer from '@bearer/js'
class MyApp {
componentDidMount() {
bearer('clientId')
}
}
Usage
Invoke js
The Bearer SDK for JavaScript lets you invoke integration's js.
const integrations = bearer('BEARER_CLIENT_ID')
integrations
.invoke('INTEGRATION_ID', 'myFunction')
.then(console.log)
.catch(console.error)
Passing params to your function works as follow:
const integrations = bearer('BEARER_CLIENT_ID')
integrations
.invoke('INTEGRATION_ID', 'myFunction', {
query: { foo: 'bar' }
})
.then(console.log)
.catch(console.error)
i18n
@bearer/js
comes with an i18n module that let you deal with internationalization of Bearer's integrations
bearer.i18n.locale
Lets you change the locale
bearer.i18n.locale = 'es'
bearer.i18n.load
Lets you load custom translation for integrations
const dictionnary = { titles: { welcome: 'Ola!' } }
bearer.i18n.load('integration-uuid', dictionnary)
const promiseReturningADictionnary = Promise.new((resolve, reject) => {
resolve({ titles: { welcome: 'Ola!' } })
})
bearer.i18n.load('integration-uuid', promiseReturningADictionnary)
const dictionnary = { titles: { welcome: 'Guten Morgen' } }
bearer.i18n.load('integration-uuid', dictionnary, { locale: 'de' })
const dictionnary = {
['integration-one-uuid']: { title: { welcome: 'Hello my friend' } },
['integration-two-uuid']: { message: { goodbye: 'Bye Bye' } }
}
bearer.i18n.load(null, dictionnary)
Secure
If you want to add a level of security, you can switch to the secure mode:
window.bearer.secured = true
window.bearer('clientId', { secured: true })
Once this mode is turned on, all your values passed in the properties need to be encrypted using your ENCRYPTION_KEY
.
CLI
Within the CLI, you can use bearer encrypt
to get the
bearer encrypt ENCRYPTION_KEY MESSAGE
NodeJS
import Cipher from '@bearer/security'
const cipher = new Cipher(ENCRYPTION_KEY)
cipher.encrypt(MESSAGE)
connect
connect
lets you easily retrieve the auth-id
for an integration using OAuth authentication. Before using it, you'll need to generate a setup-id
with the setup component of your integration
bearerClient
.connect('integration-uuid', 'setup-id')
.then(data => {
console.log(data.authId)
})
.catch(() => {
})
you can pass your own auth-id
within options parameters as follows
bearerClient.connect('integration-uuid', 'setup-id', { authId: 'my-own-non-guessable-auth-id' })
init options
Soon