REST API V2-checklista rest-api-v2-checklist
- Ämnen:
- Autentisering
Det här dokumentet samlar på ett ställe de obligatoriska kraven och rekommenderade metoderna för programmerare som implementerar klientprogram som använder Adobe Pass-autentisering REST API V2.
Följande dokument måste ingå i ditt acceptanskriterier när du implementerar REST API V2 och måste användas som en checklista för att säkerställa att alla nödvändiga åtgärder har vidtagits för att uppnå en lyckad integrering.
Obligatoriska krav mandatory-requirements
1. Registreringsfas mandatory-requirements-registration-phase
Begär ingen ny token för varje REST API v2-anrop. Uppdatera bara åtkomsttoken när de upphör att gälla.
2. Konfigurationsfas mandatory-requirements-configuration-phase
Hämta bara konfigurationssvaret när du begär att användaren ska välja sin MVPD (TV-leverantör) före autentiseringsfasen.
Du behöver inte hämta konfigurationssvaret när:
- Användaren är redan autentiserad.
- Användaren erbjuds tillfällig åtkomst.
- Användarautentiseringen har upphört att gälla, men användaren kan uppmanas att bekräfta att han/hon fortfarande är prenumerant på den tidigare valda MVPD.
Lagra användarens val av Pay TV-leverantör (MVPD) i beständigt lagringsutrymme och använd detta i alla efterföljande faser:
- I konfigurationssvarsarkivet har användaren valt MVPD "id".
- I konfigurationssvarsarkivet har användaren valt MVPD "displayName".
- I konfigurationssvarsarkivet har användaren valt MVPD "logoUrl".
3. Autentiseringsfas mandatory-requirements-authentication-phase
Starta avsökningsfunktionen under följande villkor:
Autentisering utförd i det primära (skärm) programmet
- Det primära (direktuppspelande) programmet ska starta avsökningen när användaren kommer till den sista målsidan, efter att webbläsarkomponenten har läst in den URL som angetts för parametern "redirectUrl" i Sessions-slutpunktsbegäran.
Autentisering utförd i ett sekundärt (skärm) program
- Det primära (direktuppspelande) programmet bör starta avsökningen så snart användaren initierar autentiseringsprocessen, direkt efter att ha tagit emot Sessionernas slutpunktssvar och visat autentiseringskoden för användaren.
Stoppa avsökningsmekanismen under följande villkor:
Autentisering slutförd
- Användarens profilinformation har hämtats, vilket bekräftar autentiseringsstatusen och därför behövs ingen avsökning längre.
Autentiseringssession och kodutgång
- Autentiseringssessionen och koden upphör att gälla, användaren måste starta om autentiseringsprocessen och avsökningen med den tidigare autentiseringskoden bör stoppas omedelbart.
Ny autentiseringskod genererad
- Om användaren begär en ny autentiseringskod ogiltigförklaras den befintliga sessionen och avsökningen med den tidigare autentiseringskoden stoppas omedelbart.
Konfigurera avsökningsmekanismens frekvens under följande villkor:
Autentisering utförd i det primära (skärm) programmet
- Det primära programmet (direktuppspelning) ska avsöka var 3-5:e sekund eller mer.
Autentisering utförd i ett sekundärt (skärm) program
- Det primära programmet (direktuppspelning) ska avsöka var 3:e till 5:e sekund.
Lagra delar av användarens profilinformation i beständig lagring för att förbättra prestandan och minimera onödiga REST API v2-anrop.
Cachelagring bör fokusera på följande profilsvarsfält:
mvpd
- Klientprogrammet kan använda detta för att hålla reda på användarens valda TV-leverantör och fortsätta att använda det under förauktoriserings- eller auktoriseringsfaserna.
- När den aktuella användarprofilen går ut kan klientprogrammet använda det sparade MVPD-valet och be användaren bekräfta.
attribut
- Används för att anpassa användarupplevelsen baserat på olika användarmetadatanycklar (t.ex. zip, maxRating osv.).
- Användarmetadata blir tillgängliga när autentiseringsflödet har slutförts, och därför behöver klientprogrammet inte fråga en separat slutpunkt för att hämta användarmetadatainformation, eftersom den redan ingår i profilinformationen.
- Vissa metadataattribut kan uppdateras under auktoriseringsfasen beroende på MVPD (t.ex. charta) och det specifika metadataattributet (t.ex. houseID). Därför kan klientprogrammet behöva fråga Profiles-API:erna igen efter auktoriseringen för att hämta de senaste användarens metadata.
4. (Valfritt) Förhandsauktoriseringsfas mandatory-requirements-preauthorization-phase
Risker genom att våra övervaknings- och varningssystem kringgås.
Endast ett begränsat antal utökade felkoder kräver ett nytt försök, medan de flesta kräver alternativa upplösningar som anges i åtgärdsfältet.
Kontrollera att alla återförsöksmetoder som implementeras för att hämta beslut om förauktorisering inte resulterar i en oändlig loop och att den begränsar återförsök till ett rimligt tal (dvs. 2-3).
5. Auktoriseringsfas mandatory-requirements-authorization-phase
Tillåt att strömmar fortsätter utan avbrott även om medietoken förfaller under uppspelningen och begär ett nytt auktoriseringsbeslut som innehåller en (ny) medietoken när användaren gör sin nästa uppspelningsbegäran, oavsett om det är för samma eller en annan resurs.
Liveströmmar som körs under längre perioder kan välja att begära ett nytt auktoriseringsbeslut efter videoåtgärder som att pausa innehåll, initiera kommersiella avbrott eller ändra konfigurationer på tillgångsnivå när MRSS-strömmen ändras.
Risker genom att våra övervaknings- och varningssystem kringgås.
Endast ett begränsat antal utökade felkoder kräver ett nytt försök, medan de flesta kräver alternativa upplösningar som anges i åtgärdsfältet.
Kontrollera att alla återförsöksmetoder som implementeras för att hämta auktoriseringsbeslut inte resulterar i en oändlig loop och att den begränsar återförsök till ett rimligt tal (dvs. 2-3).
6. Utloggningsfas mandatory-requirements-logout-phase
Implementera utloggnings-API:t så att användare manuellt kan logga ut, avsluta sin autentiserade profil och följa det REST API v2-åtgärdsnamn som anges för varje borttagen profil:
- För MVPD-program som stöder en utloggningsslutpunkt måste klientprogrammet navigera till angiven url i en användaragent.
- För profiler av typen"appleSSO" måste klientprogrammet hjälpa användaren att även logga ut från partnernivån (Apple systeminställningar).
7. Parametrar och rubriker mandatory-requirements-parameters-headers
Även om begäran kommer från en server för en enhets räkning måste rubrikvärdet för AP-Device-Identifier återspegla den faktiska identifieraren för direktuppspelningsenheten.
Även när begäran kommer från en server för en enhets räkning måste X-Device-Info-rubrikvärdet återspegla den faktiska informationen om direktuppspelningsenheten.
Dessutom är vissa fält, till exempel direktuppspelningsenhetens connectionIp och connectionPort, obligatoriska för funktioner som Spectrum’s Home Base Authentication.
För plattformar som saknar en maskinvaruidentifierare skapar du en unik identifierare från programattributen och behåller den.
8. Felhantering mandatory-requirements-error-handling
Endast ett begränsat antal utökade felkoder kräver ett nytt försök, medan de flesta kräver alternativa upplösningar som anges i åtgärdsfältet.
De mest förbättrade felkoderna i Förbättrade felkoder - REST API V2 -dokumentationen kan förhindras helt om de hanteras korrekt under utvecklingsfasen innan programmet startas.
Riskerar att klientprogrammet fungerar som det ska på grund av att hantering av de förbättrade felkoderna saknas, vilket orsakar otydliga felmeddelanden, felaktig användarvägledning eller felaktigt reservbeteende.
Endast ett begränsat antal HTTP-felkoder kräver ett nytt försök, medan de flesta kräver alternativa upplösningar.
De flesta HTTP-felsvar kan förhindras helt om de hanteras korrekt under utvecklingsfasen innan programmet startas.
Riskerar att klientprogrammet fungerar som det ska på grund av att hantering av de förbättrade felkoderna saknas, vilket orsakar otydliga felmeddelanden, felaktig användarvägledning eller felaktigt reservbeteende.
9. Testning mandatory-requirements-testing
Utveckla och testa programmet i de officiella icke-produktionsmiljöerna för Adobe Pass Authentication:
- Förhandsproduktion
- Frigör mellanlagring
Utför en grundlig kvalitetssäkring i dessa miljöer innan du startar produktionen.
Klientprogram får inte fortsätta till versionsproduktion utan att först slutföra en fullständig validering i icke-produktionsmiljöer.
Om du saknar en kort och effektiv felsökningsväg kan det hindra Adobe Support och Engineering från att snabbt komma in.
Rekommenderad praxis recommended-practices
1. Registreringsfas recommended-practices-registration-phase
Kontrollera att alla återförsöksmetoder för hantering av HTTP 401-fel av typen "Obehörig" först uppdaterar åtkomsttoken innan du försöker utföra den ursprungliga begäran igen.
2. Konfigurationsfas recommended-practices-configuration-phase
3. Autentiseringsfas recommended-practices-authentication-phase
Validera autentiseringskoden som skickats via användarindata i det sekundära (andra) programmet (skärmen) innan du anropar /api/v2/authenticate API under följande villkor:
Autentisering utförd i det sekundära (skärmen) programmet med förvalt mvpd
- Använd Återuppta autentiseringssession - POST /api/v2/{serviceProvider}/sessions/{code}
Autentisering utförd i sekundärt (skärm) program utan förval av mvpd
- Använd Hämta autentiseringssession - GET /api/v2/{serviceProvider}/sessioner/{code}
Klientprogrammet skulle få ett fel om den angivna autentiseringskoden skrivits fel eller om autentiseringssessionen skulle gå ut.
Stöd för icke-grundläggande flöden om klientapplikationsverksamheten kräver:
- Försämrade åtkomstflöden (premiumfunktion)
- Tillfälliga åtkomstflöden (premiumfunktion)
- Åtkomstflöden för enkel inloggning (standardfunktion)
4. (Valfritt) Förhandsauktoriseringsfas recommended-practices-preauthorization-phase
5. Auktoriseringsfas recommended-practices-authorization-phase
6. Utloggningsfas recommended-practices-logout-phase
7. Parametrar och rubriker recommended-practices-parameters-headers
Återanvänd kod från REST API v1 för att anropa DCR-API:t för att hämta en åtkomsttoken.
8. Testning recommended-practices-testing
Kontrollera att följande grundläggande flöden har testats på olika enheter och plattformar:
Autentiseringsflöden
- Autentiseringsscenario för primärt program (skärm)
- Sekundärt autentiseringsscenario för program (skärm)
(Valfritt) Förhandsauktoriseringsflöden
- Testa scenariot för tillståndsbeslut
- Testa scenariot för att neka beslut
Behörighetsflöden
- Testa scenariot för tillståndsbeslut
- Testa scenariot för att neka beslut
Utloggningsflöden
Testa andra åtkomstflöden om tillämpligt:
- Försämrade åtkomstflöden (premiumfunktion)
- Tillfälliga åtkomstflöden (premiumfunktion)
- Åtkomstflöden för enkel inloggning (standardfunktion)
Täck de vanligaste MVPD-integreringarna (omfattar de mest använda leverantörerna).
Sammanfattning summary
Cacheåtkomsttoken
Cachelagra delar av profiler
Funktion för supportdegradering (om verksamheten kräver det)
Stöd för TempPass-funktionen (om verksamheten kräver det)
Stöd för enkel inloggning (om verksamheten kräver det)
Finjustera återförsöksmekanismen
Finjustera återförsöksmekanism
Medietokenvalidering
Implementera HTTP-felhantering