Embedded: Integrate Into your Application
Generate Embed Tokens
After generating permissions
, filters
, and settings
you need to generate a token. The payload of the token should contain the permissions, filters, settings (which we had already generated above), and expired time
, which specifies a time to expire your issued token.
Note that: permissions, filters, and settings must be in JSON type.
Example:
# Will expire after 1 day, change it to the value you want.
# Note that expired_time is of type Unix Time. E.g 1498795702
expired_time = Time.now.to_i + 24 * 60
payload = {
settings: settings,
permissions: permissions,
filters: filters,
exp: expired_time
}
We use JWT (JSON Web Token) as a mechanism to authenticate the code.
token = JWT.encode(payload, secret_key, 'HS256')
You can get the secret_key
of the embed link by opening Embedded Analytics Sandbox and look for secret_key
in the Embed code
section
Generate Embed URL and integrate into your application
Next, render an iframe pointing to the embed link, with the token baked into it. Holistics then use this token to authenticate and figure out which Customer is logging in, and display your dashboard with only that customer’s data.
Generate embed URL with embed_code
and token
(we had already generated token
above):
embed_url = 'https://secure.holistics.io/embed/' + embed_code + '?_token=' + token
You can get embed_code
in the Embed code section in Embedded Analytics Sandbox.
Finally, simply include an iframe with that URL in your application:
<!-- Below code uses Embedded Ruby(erb) template -->
<iframe src="<%= embed_url %>"
frameborder="0"
style="width: 100%;height: 600px"
allowfullscreen>
</iframe>