REST API Overview rest-api-overview
Overview over
The Adobe Pass Authentication REST API provides direct access to the TV Everywhere (TVE) authentication and authorization services. This API supports two primary architectures: Server-to-Server or Connected Devices (e.g. game consoles, Smart TVs, set-top boxes, etc.) applications that do not have web browsing capabilities.
Throttling mechanism
The Adobe Pass Authentication REST API is governed by a Throttling mechanism.
Server-to-Server
Server-to-Server solutions involve Programmer client applications that integrate with Programmer services that connect with Adobe Pass Authentication services for TVE flows. This approach shifts most of TVE implementation from the client to the server where a single, unified authorization module can be built and maintained. The primary remaining responsibility of the client applications is the management of a web view for user authentication.
Connected Devices
Connected Devices apps communicate directly with Adobe Pass Authentication through the REST APIs to perform configuration, registration, authentication status checks and authorization flows, while a second screen (browser) app is required for the authentication flow. As such, native SDKs are not used.
Other Architectures
In addition to the two primary REST API based architectures, Server-to-server and Direct client solutions for smart devices, there are other architectures. Primary among them is the SDK architecture, which uses a client component called the Access Enabler that Adobe Pass Authentication provides to Programmers. The app uses Access Enabler APIs to handle startup, authentication, authorization, and logout. All communication between the Programmer’s app and the Adobe Pass Authentication servers occurs through the Access Enabler. A different flavor of Access Enabler is available for the following platforms: JavaScript, iOS, tvOS, Android and FireTV.
Although it is possible to use the REST API directly on client platforms that support native SDKs outside of a Server-to-Server solution, this approach is not recommended.
REST API Pros and Cons ProsAndCons
The Adobe Pass Authentication REST API was created to provide a TV Everywhere (TVE) solution for devices that do not have web browsing capabilities or persistent storage. The REST API provides support for all authentication and authorization flows, but because it lacks a native SDK component. The SDKs provided and maintained by Adobe Pass Authentication come with out-of-the box functionalities that implement business rules which in case of the REST API have to be implemented and maintained by the Programmers. In the Programmer Responsibilities table below we describe the limitations of the current REST API that need to be addressed by Programmers.
Server-to-Server vs Client-based Pros and Cons
A Server-to-Server architecture provides a way to consolidate most of the authentication and authorization related logic into a single logical unit or implementation. This approach has pros and cons. The pros include:
- Single implementation for authentication and authorization business logic.
- Avoid the need to implement that logic on each supported platform using that platforms native tools.
- The ability to update capabilities without having to update clients with all their associated requirements (e.g. app store updates).
- More easily extend and custom authN and authZ capabilities (e.g. add D2C).
- Direct management of associated traffic for greater control, quality and monitoring.
Again, the cons are listed in the Programmer’s responsibilities, but include the following:
- SSO must be implemented for each client for platforms without Platform SSO.
- Programmers must implement MVPD-specific logic if needed.
- All platforms using the REST API share a single configuration governing properties such as authentication TTLs.
Connected Devices
For most connected devices, the REST API must be used in one way or another since an SDK is unavailable. The connected device will either use the REST API directly, or integrate with a Server-to-Server solution that uses the REST API.
Programmer Responsibilities programmer-responsibilities
The following apply to both Server-to-Server and Connected Device applications.
-
As part of our new One API initiative we plan to fix this limitation and to be able to apply rules per platform based on the device identification.
-
Adobe continues to work with all major platforms to implement Platform SSO that can be used with our REST API. Our One API initiative will offer SSO support between apps implemented using native SDKs & apps implemented using REST API.
Minimum Device Requirements min_reqs
In order to use the Adobe Pass Authentication REST API, devices must meet or exceed the minimum technical requirements listed in the REST API section of the Adobe Pass Authentication Platform / Device / Tools Requirements document.