Guía de Amazon SSO (API REST V2) amazon-sso-cookbook-rest-api-v2
La API de REST de autenticación de Adobe Pass V2 es compatible con el inicio de sesión único (SSO) de Platform para los usuarios finales de aplicaciones cliente que se ejecutan en FireOS.
Este documento actúa como una extensión de la Información general de la API REST V2 existente que proporciona una vista de alto nivel y el documento que describe cómo implementar el inicio de sesión único mediante flujos de identidad de la plataforma.
Inicio de sesión único de Amazon con flujos de identidad de plataforma cookbook
La autenticación de Adobe Pass colabora con Amazon para mejorar la experiencia del usuario que inicia sesión y para facilitar el inicio de sesión único (SSO) en las aplicaciones de TV Everywhere para suscriptores de TV.
Requisitos previos prerequisites
Antes de continuar con el Amazon inicio de sesión único utilizar flujos de identidad de plataforma, asegúrese de que se cumplan los siguientes requisitos previos.
Integración Amazon SSO SDK integrate-amazon-sso-sdk
El aplicación de flujo continuo debe integrar el biblioteca SDK🔗 de SSO de Amazon para el inicio de sesión único (SSO) en su versión.
-
Descargue y copie la biblioteca de SDK SSO de Amazon más reciente en una carpeta
/SSOEnabler
paralela al directorio de la aplicación. -
Actualice el manifiesto y los archivos de Gradle para utilizar la biblioteca SDK SSO de Amazon.
Manifiesto:
code language-java <uses-library android:name="com.amazon.ottssotokenlib" android:required="false">
Gradle:
En repositorios:
code language-java flatDir { dirs '../SSOEnabler' }
En dependencias:
code language-java provided fileTree(include: ['ottSSOTokenStub.jar'], dir: '../SSOEnabler')
Uso Amazon SDK de SSO use-amazon-sso-sdk
La aplicación de streaming debe utilizar Amazon SSO SDK para obtener la carga útil del token SSO (identidad de plataforma).
Amazon SSO SDK proporciona API sincrónicas y asincrónicas para obtener la carga útil del token SSO (identidad de plataforma).
La aplicación de streaming puede elegir una de las dos opciones en función de su arquitectura.
API asíncronas
-
Obtenga la instancia
SSOEnabler
y establezcaSSOEnablerCallback
:code language-java SSOEnabler ssoEnabler = SSOEnabler.getInstance(context); SSOEnablerCallback ssoEnablerCallback = new SSOEnablerCallbackImpl(); ssoEnabler.setSSOTokenCallback(ssoEnablerCallback);
Esto se puede hacer durante la inicialización de la aplicación de streaming.
code language-java public static abstract class SSOEnablerCallback { public abstract void getSSOTokenSuccess(Bundle result); public abstract void getSSOTokenFailure(Bundle result); }
El paquete de respuesta de éxito del token SSO contendrá lo siguiente:
- Un token SSO como
string
con la clave "SSOToken".
El paquete de respuesta de error del token SSO contendrá lo siguiente:
- Un código de error como
int
con la clave "ErrorCode". - Una descripción de error como
string
con la clave "ErrorDescription".
- Un token SSO como
-
Obtenga el token de SSO:
code language-java Bundle getSSOTokenAsync(Void);
Esta API proporcionará la respuesta mediante la devolución de llamada establecida durante la inicialización.
API sincrónicas
-
Obtenga la
SSOEnabler
instancia:code language-java SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
-
Obtenga el token de SSO:
code language-java Bundle getSSOTokenSync(Void);
Esta API bloqueará el hilo que llama y responderá con el paquete de resultados. Dado que se trata de una llamada sincrónica, asegúrese de no utilizarla en el subproceso principal.
code language-java void setSSOTokenTimeout(long);
Esta API establecerá el valor de tiempo de espera para la llamada sincrónica. El valor predeterminado del tiempo de espera es 1 minuto.
Alternativa para Amazon SSO fallback-amazon-sso
El aplicación de streaming debe gestionar escenarios de reserva desde el flujo de SSO de Amazon al flujo de autenticación normal.
Asegúrese de que el aplicación de flujo continuo gestiona:
-
La ausencia de la aplicación complementaria de Amazon que debería ejecutarse en el dispositivo Amazon.
- La aplicación de flujo continuo puede encontrar un
ClassNotFoundException
en tiempo de ejecución en la siguiente clasecom.amazon.ottssotokenlib.SSOEnabler
.
- La aplicación de flujo continuo puede encontrar un
-
La ausencia de la carga útil del token SSO (identidad de plataforma) que deben devolver las API anteriores.
- La aplicación de streaming puede ponerse en contacto con los representantes de Amazon y Adobe para investigar.
Flujo de trabajo workflow
La carga útil de token de SSO (identidad de plataforma) de Amazon debe estar presente en todas las solicitudes HTTP realizadas en Adobe Pass puntos finales Authentication API de REST V2:
/api/v2/*
Adobe Pass Authentication API de REST V2 admite los siguientes métodos para recibir la carga útil del token de SSO (identidad de plataforma), que es un identificador con ámbito de dispositivos o de plataforma:
- Como encabezado denominado:
Adobe-Subject-Token
Adobe-Subject-Token
el encabezado, consulte la documentación de Adobe Systems-Subject-Token .Muestras
Envío como encabezado
GET /api/v2/{serviceProvider}/sessions HTTP/1.1
Host: sp-preprod.auth.adobe.com
Adobe-Subject-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.JlBFhNhNCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA
Adobe-Subject-Token
encabezado o esté no válido, Adobe Pass Authentication atenderá las solicitudes sin tener que incluir el inicio de sesión único en cuenta.