The AIS implementation touches several pieces of the infrastructure. Specifically, it involves an Akamai Identity Services Manager in the client code, a new scope for the property template expander, several new fields in the Fullscreen video block, a couple of new scripts, and several new view events.
Akamai Identity Services Manager
This client code class object manages the specifics of calling the AIS API and answering questions regarding login and channel access for the other parts of the system. On iOS the class is ESAkamaiIdentityServicesMgr
New View Events
There are several new view events implemented to allow for responding to AIS changes.
- AkamaiIdentityServicesLoginSuccess - Triggered whenever the client logs into AIS with a new platform_id
- AkamaiIdentityServicesLoginFailure - Triggered when the login attempt fails for any reason other than user cancellation
- AkamaiIdentityServicesLoginCancel - Triggered when the user stops the login usage case at any point
- AkamaiIdentityServicesLogout - Triggered when the client logs out of AIS with some platform_id, it is entirely possible that the client is still logged in with a different one.
There are two new script actions implemented for AIS, they are:
- Log In to AIS - Attempts to log the client into AIS for the provided platform_id.
If the client is already logged in to the provided platform_id, the manager does NOT trigger an event of type AkamaiIdentityServicesLoginSuccess
- Log Out of AIS - Logs the client out of AIS for the provided platform_id.
If the client is not logged in to the provided platform_id, the manager does NOT trigger an event of type AkamaiIdentityServicesLogout
AIS Scope for property template expander
There are two new templates implemented for AIS, they are:
- [[property:ais/authenticated]] - Returns a comma separated list of strings for the platform_ids which the client is currently logged in with
- [[property:ais/channelAccess/<channel_id>]] - Returns a comma separated list of strings for the platform_ids which have access to the given channel_id.
Fullscreen Video Block Fields
There are several new fields in the Fullscreen Video Block that enable using AIS to authenticate access to an AIS stream.
- Akamai Identity Services Token: checkbox - This checkbox is used to indicate that an AIS token will be needed to play this video.
- Akamai Identity Services Platform ID: text - The platform ID we will need to be logged into in order to get a token
- Akamai Identity Services Channel ID: text - The channel ID used to ask for the authorization token to play the stream.