You connect your app to the internet by placing it behind the Tazzy network proxy, a service provided by TAS.
To connect Tazzy to your app, you need to set the "Back end server" field for your app to point at your server's public internet address.
In most HR systems today, apps make API calls against the central system, not the other way around (and not from app to app).
In TAS, there is no central system. Any app can call an API on any other app. This peer to peer model means that, except for the simplest of apps, you'll need to mount API endpoints in your server, and allow inwards API traffic to them.
As well as incoming API traffic, your app may also support incoming SSO-protected traffic, as well as normal incoming traffic (i.e. nothing to do with TAS), so the overall picture is like this:
| incoming SSO traffic
|
| | normal incoming
| | web traffic
| |
| v
| +-------------------+
| |-------------------|
+---------------> || ||
|| ||
incoming API || ||
traffic || || outgoing API traffic
+---------------> || yourapp.com || +------------------+
| |-------------------| |
| +-------------------+ |
| |
| |
+-|----------------------------------------------------------|--+
| | v |
| |
| +--------+ +--------+ |
| |--------| +--------+ |--------| |
| || || |--------| || || |
| || || || || || || |
| |--------| || || |--------| |
| +--------+ |--------| +--------+ |
| +--------+ |
| |
| other installed apps + TAS core |
+---------------------------------------------------------------+
TAS uses the following industry standards for securing incoming and outgoing API and SSO traffic:
Type of traffic | Security |
---|---|
Core APIs | HMAC |
tenant APIs | OAuth |
SSO | SAML 2 |
Once your app is sitting behind Tazzy, all incoming API and SSO traffic passes through Tazzy, as does all outgoing API traffic.
Since Tazzy works at the network level, instead of libraries/SDKs, you can build your app in any language/framework.
Tazzy deals with:
Once connected, the network paths look like this:
| incoming SSO traffic (https://communityapps.aotal.com/t/{tenant}/...)
|
| | normal incoming (https://yourapp.com/...)
| | web traffic
| +---+ | +---+
| | | v | |
| | | +-------------------+ | tazzy
| | | |-------------------| | |
+---------------> || || | |
| | || || | |
incoming API || || | |
traffic | || || | | outgoing API traffic
+---------------> || yourapp.com || +------------------+
| | | |-------------------| | | |
| | | +-------------------+ | | |
| | tazzy | | |
| | | | | |
| +---+ +---+ |
| back end server = e.g. |
| https://yourapp.com:8081/myapp |
| |
| |
+-|----------------------------------------------------------|--+
| | v |
| |
| +--------+ +--------+ |
| |--------| +--------+ |--------| |
| || || |--------| || || |
| || || || || || || |
| |--------| || || |--------| |
| +--------+ |--------| +--------+ |
| +--------+ |
| |
| other installed apps + TAS core |
+---------------------------------------------------------------+
Note: while developing your app, it can be convenient to run your server code on your personal machine and then use a tool like ngrok to expose it to the internet.
While Tazzy handles all HMAC, OAuth and SAML on behalf of your app, the path between your app and Tazzy should still be verified. To do this:
In future Aotal plans to enable you to host the Tazzy system within your own network. For now, your app must use the community Tazzy, and the app settings pages in the developer site reflect this.