Basic authentication flow performed within secondary application basic-authentication-flow-performed-within-secondary-application
The Authentication flow within Adobe Pass Authentication entitlement allows the streaming application to verify that a user has a valid MVPD account. This process requires the user to have an active MVPD account and enter valid login credentials on the MVPD login page.
Authentication flow is required in the following cases:
- When the user opens an application for the first time.
- When the user’s previous authentication has expired.
- When the user logs out from the MVPD account.
- When the user wants to authenticate with a different MVPD.
In all of these cases, the application calling any of the Profiles endpoints receives an empty response or one or more profiles, but for different MVPDs.
The Authentication flow requires a user agent (browser) to complete a series of calls from the application to Adobe Pass backend, then to the MVPD login page, and finally back to the application. This flow may include several redirects to MVPD systems and managing cookies or sessions stored for each domain, which can be challenging to achieve and secure without a user agent.
Based on the primary application (streaming application) capabilities to support user interaction to select an MVPD and to authenticate with the selected MVPD in a user agent, the authentication scenarios are:
Perform authentication within secondary application with preselected mvpd perform-authentication-within-secondary-application-with-preselected-mvpd
Prerequisites prerequisites-perform-authentication-within-secondary-application-with-preselected-mvpd
Before starting the authentication flow within a primary application and finishing it through user interaction within a secondary application, ensure the following prerequisites are met:
- The streaming application must select an MVPD.
- The streaming application must initiate an authentication session to sign in with the selected MVPD.
- The secondary application must authenticate with the selected MVPD in a user agent.
- The streaming application supports user interaction to select an MVPD.
- The secondary application (usually on a secondary device) supports user interaction to authenticate with the selected MVPD in a user agent.
Workflow workflow-perform-authentication-within-secondary-application-with-preselected-mvpd
Follow the given steps to implement the basic authentication flow performed within a secondary application with a preselected MVPD as shown in the following diagram.
Perform authentication within secondary application with preselected mvpd
-
Create authentication session: The streaming application gathers all the necessary data to initiate an authentication session by calling the Sessions endpoint.
note important IMPORTANT Refer to the Create authentication session API documentation for details on: - All the required parameters, like
serviceProvider
,mvpd
,domainName
, andredirectUrl
- All the required headers, like
Authorization
,AP-Device-Identifier
- All the optional parameters and headers
The streaming application must provide all the required parameters in a single call when creating the authentication session. - All the required parameters, like
-
Indicate the next action: The Sessions endpoint response contains the necessary data to guide the streaming application regarding the next action.
note important IMPORTANT Refer to the Create authentication session API documentation for details on the information provided in a session response. The Sessions endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
- The integration between the provided
serviceProvider
andmvpd
must be active.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation. -
Proceed with decisions flows: The Sessions endpoint response contains the following data:
- The
actionName
attribute is set to “authorize”. - The
actionType
attribute is set to “direct”.
If the Adobe Pass backend identifies a valid profile, the streaming application does not need to re-authenticate with the selected MVPD, as there is already a profile that can be used for subsequent decisions flows.
- The
-
Display authentication code: The Sessions endpoint response contains the following data:
- The
code
which can be used to resume the authentication session within a secondary application. - The
actionName
attribute is set to “authenticate”. - The
actionType
attribute is set to “interactive”.
If the Adobe Pass backend does not identify a valid profile, the streaming application displays the
code
that can be used to resume the authentication session within a secondary application. - The
-
Validate authentication code: The secondary application validates the user provided
code
to ensure it can proceed with MVPD authentication in user agent.note important IMPORTANT Refer to the Retrieve authentication session information API documentation for details on: - All the required parameters, like
serviceProvider
andcode
- All the required headers, like
Authorization
- All the optional parameters and headers
- All the required parameters, like
-
Return information about authentication session: The Sessions endpoint response contains the following data:
- The
existing
attribute contains the existing parameters that were already provided. - The
missing
attribute contains the missing parameters that need to be provided in order to complete the authentication flow.
note important IMPORTANT Refer to the Retrieve authentication session information API documentation for details on the information provided in a session validation response. The Sessions endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation. note tip TIP Suggestion: The secondary application can inform users that the code
used is invalid in the event of an error response indicating a missing authentication session, and advise them to retry using a new one. - The
-
Open URL in user agent: The secondary application opens a user agent to load the self computed
url
, making a request to the Authenticate endpoint. This flow may include several redirects, ultimately leading the user to the MVPD login page and provide valid credentials.note important IMPORTANT Refer to the Perform authentication in user agent API documentation for details on: - All the required parameters, like
serviceProvider
andcode
- All the optional parameters and headers
- All the required parameters, like
-
Complete MVPD authentication: If the authentication flow is successful, the user agent interaction saves a regular profile in Adobe Pass backend and reaches the provided
redirectUrl
. -
Retrieve profile for specific code: The streaming application gathers all the necessary data to retrieve profile information by sending a request to the Profiles endpoint.
note important IMPORTANT Refer to the Retrieve profile for specific code API documentation for details on: - All the required parameters, like
serviceProvider
andcode
- All the required headers, like
Authorization
,AP-Device-Identifier
- All the optional parameters and headers
note tip TIP Suggestion: The streaming application can implement a polling mechanism using the code
to check if the regular profile was successfully generated and saved. - All the required parameters, like
-
Return information about regular profile: The Profiles endpoint response contains information about the regular profile associated with the received parameters and headers.
note important IMPORTANT Refer to the Retrieve profile for specific code API documentation for details on the information provided in a profile response. The Profiles endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation.
Perform authentication within secondary application without preselected mvpd perform-authentication-within-secondary-application-without-preselected-mvpd
Prerequisites prerequisites-perform-authentication-within-secondary-application-without-preselected-mvpd
Before starting the authentication flow within a primary application and finishing it through user interaction within a secondary application, ensure the following prerequisites are met:
- The streaming application must initiate an authentication session when it needs to sign in.
- The secondary application must select an MVPD.
- The secondary application must authenticate with the selected MVPD in a user agent.
- The secondary application (usually on a secondary device) supports user interaction to select an MVPD.
- The secondary application (usually on a secondary device) supports user interaction to authenticate with the selected MVPD in a user agent.
Workflow workflow-perform-authentication-within-secondary-application-without-preselected-mvpd
Follow the given steps to implement the basic authentication flow performed within a secondary application without a preselected MVPD as shown in the following diagram.
Perform authentication within secondary application without preselected mvpd
-
Create authentication session: The streaming application gathers some of the necessary data to initiate an authentication session by calling the Sessions endpoint.
note important IMPORTANT Refer to the Create authentication session API documentation for details on: - All the required parameters, like
serviceProvider
- All the required headers, like
Authorization
,AP-Device-Identifier
- All the optional parameters and headers
The streaming application cannot provide all the required parameters in a single call when creating the authentication session. - All the required parameters, like
-
Indicate the next action: The Sessions endpoint response contains the necessary data to guide the streaming application regarding the next action:
- The
code
which can be used to resume the authentication session within a secondary application. - The
actionName
attribute is set to “resume”. - The
actionType
attribute is set to “direct”.
note important IMPORTANT Refer to the Create authentication session API documentation for details on the information provided in a session response. The Sessions endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation. - The
-
Display authentication code: The streaming application displays the
code
that can be used to resume the authentication session within a secondary application. -
Provide authentication session missing parameters: The secondary application gathers all the missing data required to resume the authentication session and calls the Sessions endpoint.
note important IMPORTANT Refer to the Resume authentication session API documentation for details on: - All the required parameters, like
serviceProvider
,mvpd
,domainName
, andredirectUrl
- All the required headers, like
Authorization
,AP-Device-Identifier
- All the optional parameters and headers
- All the required parameters, like
-
Indicate the next action: The Sessions endpoint response contains the necessary data to guide the streaming application regarding the next action.
note important IMPORTANT Refer to the Resume authentication session API documentation for details on the information provided in a session response. The Sessions endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
- The integration between the provided
serviceProvider
andmvpd
must be active.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation. note tip TIP Suggestion: The secondary application can inform users that the code
used is invalid in the event of an error response indicating a missing authentication session, and advise them to retry using a new one. -
Indicate existing profile: The Sessions endpoint response contains the following data:
- The
actionName
attribute is set to “authorize”. - The
actionType
attribute is set to “direct”.
If the Adobe Pass backend identifies a valid profile, the streaming application does not need to re-authenticate with the selected MVPD, as there is already a profile that can be used for subsequent decisions flows.
- The
-
Open URL in user agent: The Sessions endpoint response contains the following data:
- The
url
which can be used to initiate the interactive authentication within the MVPD login page. - The
actionName
attribute is set to “authenticate”. - The
actionType
attribute is set to “interactive”.
If the Adobe Pass backend does not identify a valid profile, the secondary application opens a user agent to load the provided
url
, making a request to the Authenticate endpoint. This flow may include several redirects, ultimately leading the user to the MVPD login page and provide valid credentials. - The
-
Complete MVPD authentication: If the authentication flow is successful, the user agent interaction saves a regular profile in the Adobe Pass backend and reaches the provided
redirectUrl
. -
Retrieve profile for specific code: The streaming application gathers all the necessary data to retrieve profile information by sending a request to the Profiles endpoint.
note important IMPORTANT Refer to the Retrieve profile for specific code API documentation for details on: - All the required parameters, like
serviceProvider
andcode
- All the required headers, like
Authorization
,AP-Device-Identifier
- All the optional parameters and headers
note tip TIP Suggestion: The streaming application can implement a polling mechanism using the code
to check if the regular profile was successfully generated and saved. - All the required parameters, like
-
Return information about regular profile: The Profiles endpoint response contains information about the regular profile associated with the received parameters and headers.
note important IMPORTANT Refer to the Retrieve profile for specific code API documentation for details on the information provided in a profile response. The Profiles endpoint validates the request data to ensure that basic conditions are met: - The required parameters and headers must be valid.
If validation fails, an error response will be generated, providing additional information that adheres to the Enhanced Error Codes documentation.