(Verouderd) Vooraf autoriseren
- Onderwerpen:
- Authenticatie
Overzicht
De methode van de preauthorize API moet door toepassingen worden gebruikt om pre-vergunningsbesluiten voor één of meerdere middelen te verkrijgen. De aanvraag van de API voor voorafgaande toestemming moet worden gebruikt voor UI-tips en/of het filteren van inhoud. Een daadwerkelijke vergunning API verzoek moet worden gemaakt alvorens gebruikerstoegang tot de gespecificeerde middelen toe te staan.
Als er een onverwachte fout optreedt (bijvoorbeeld netwerkprobleem en MVPD-autorisatiepunt niet beschikbaar) wanneer een API-aanvraag vooraf autoriseren wordt verwerkt door de Adobe Pass-verificatieservices, wordt een of meer afzonderlijke foutinformatie opgenomen voor de betrokken bronnen als onderdeel van het resultaat van de eerdere API-reactie.
public preauthorize(request: PreauthorizeRequest, callback: AccessEnablerCallback<any>): void
Beschrijving: Deze methode moet door toepassingen worden gebruikt om voor authentiek verklaarde gebruiker (informatieve) besluiten van de Dienst van de Authentificatie van Adobe Pass te verkrijgen om specifieke beschermde middelen te bekijken, voor het primaire doel om UI van de toepassing te versieren (b.v. die op toegangsstatus met slot en ontgrendelingspictogrammen wijzen).
Beschikbaarheid: v4.4.0+
Parameters:
PreauthorizeRequest
: Object Builder dat wordt gebruikt om de aanvraag te definiërenAccessEnablerCallback
: callback gebruikt om de API-reactie te retournerenPreauthorizeResponse
: Object dat wordt gebruikt om de inhoud van de API-reactie te retourneren
class PreAuthzeRequestBuilder
setResources(resources: string []): PreauthorizeRequestBuilder
-
Hiermee stelt u de lijst met bronnen in waarvoor u voorafgaande autorisatiebeslissingen wilt verkrijgen.
-
Het is verplicht deze in te stellen voor het gebruik van de voorafgaande autorisatie-API.
-
Elk element in de lijst moet een tekenreeks zijn die de bron-id-waarde vertegenwoordigt of het media-RSS-fragment dat met de MVPD moet worden overeengekomen.
-
Deze methode stelt de informatie alleen in in de context van de huidige objectinstantie
PreauthorizeRequestBuilder
, die de ontvanger is van deze methodeaanroep. -
Als u een werkelijke
PreauthorizeRequest
wilt maken, kunt u de methode vanPreauthorizeRequestBuilder
bekijken:
build(): PreauthorizeRequest
@param {string[]}
resources. De lijst van middelen waarvoor u pre-vergunningsbesluiten wilt verkrijgen.@returns {PreauthorizeRequestBuilder}
De verwijzing naar dezelfdePreauthorizeRequestBuilder
-objectinstantie, de ontvanger van de methodeaanroep.- Het doet dit om het creëren van methode het ketenen toe te staan.
disableFeatures (…features: string []): PreauthorizeRequestBuilder
- Hiermee stelt u de functies in die u wilt uitschakelen bij het verkrijgen van beslissingen vóór de autorisatie.
- Deze functie stelt de informatie alleen in in de context van de huidige objectinstantie
PreauthorizeRequestBuilder
, die de ontvanger van deze functieaanroep is. - Als u een werkelijke
PreauthorizeRequest
wilt maken, kunt u de functie vanPreauthorizeRequestBuilder
bekijken:
public func build() -> PreauthorizeRequest
@param {string[]}
-functies. De reeks functies die u wilt uitschakelen.@returns
De verwijzing naar dezelfdePreauthorizeRequestBuilder
-objectinstantie, de ontvanger van de functieaanroep.- Het doet dit om het creëren van functie ketting toe te staan.
build(): preAuthzeRequest
- Maakt en haalt de referentie van een nieuwe objectinstantie
PreauthorizeRequest
op. - Deze methode instantieert telkens wanneer een nieuw
PreauthorizeRequest
-object wordt aangeroepen. - Deze methode gebruikt de waarden die vooraf zijn ingesteld in de context van de huidige objectinstantie
PreauthorizeRequestBuilder
, die de ontvanger is van deze methodeaanroep. - Houd er rekening mee dat deze methode geen bijwerkingen veroorzaakt.
- daarom wijzigt de methode de status van de SDK of de status van de objectinstantie
PreauthorizeRequestBuilder
, die de ontvanger is van deze methodeaanroep, niet. - Dit betekent dat opeenvolgende aanroepen van deze methode voor dezelfde ontvanger verschillende nieuwe
PreauthorizeRequest
-objectinstanties maken, maar dezelfde informatie hebben, voor het geval de waarden die zijn ingesteld opPreauthorizeRequestBuilder
waar ze niet tussen de aanroepen zijn gewijzigd. - Als u geen van de verschafte informatie (bronnen en caching) hoeft bij te werken, kunt u de instantie PreauthorizeRequest opnieuw gebruiken voor meerdere toepassingen van de API voor voorafgaande toestemming.
@returns {PreauthorizeRequest}
interface AccessEnablerCallback<T>
onResponse(resultaat: T);
- Callback van de reactie die door de SDK wordt aangeroepen toen de voorafgaande autorisatie-API-aanvraag werd uitgevoerd.
- Het resultaat is een geslaagd resultaat of een foutresultaat met een status.
@param {T} result
onFailed(result: T);
- De callback van de mislukking die door de SDK wordt geroepen wanneer het preauthorize API verzoek kon niet worden onderhouden.
- Het resultaat is een mislukkingsresultaat dat een status bevat.
@param {T} result
klasse PreauthorizeResponse
status van het publiek: status;
- Retourneert: aanvullende status (status) informatie in het geval van een fout.
- Plaats mogelijk een
null
-waarde.
openbare beslissingen: Besluit [];
- Retourneert: De lijst met voorafgaande autorisatiebeslissingen. Eén besluit voor elke bron.
- De lijst kan leeg zijn in het geval van een fout.
klassestatus
status van het publiek: nummer;
- De HTTP-antwoordstatuscode zoals beschreven in RFC 7231.
- De waarde 0 kan zijn als de
Status
afkomstig is van de SDK in plaats van de Adobe Pass-verificatieservices.
openbare code: nummer;
- De standaardfoutcode voor Adobe Pass Authentication-services.
- Kan een lege tekenreeks of een
null
-waarde bevatten.
openbare boodschap: tekenreeks;
- De gedetailleerde boodschap die in sommige gevallen wordt verstrekt door de eindpunten van de MVPD-autorisatie of door de regels voor de achteruitgang van programmeurs.
- Kan een lege tekenreeks of een
null
-waarde bevatten.
publieke details: tekenreeks;
- Bevat een gedetailleerd bericht dat in sommige gevallen wordt verstrekt door de autorisatieeindpunten van MVPD of door de degradatieregels van Programmer.
- Kan een lege tekenreeks of een
null
-waarde bevatten.
public helpUrl: string;
- De URL die een koppeling bevat naar meer informatie over de oorzaak van deze fout en de mogelijke oplossingen.
- Kan een lege tekenreeks of een
null
-waarde bevatten.
public trace: string;
- De unieke id voor deze reactie, die kan worden gebruikt wanneer contact wordt opgenomen met ondersteuning om specifieke problemen in complexere scenario's te identificeren.
- Kan een lege tekenreeks of een
null
-waarde bevatten.
public action: string;
-
De aanbevolen maatregelen om de situatie te verhelpen.
- niets: Jammer genoeg is er geen vooraf bepaalde actie om deze kwestie te verhelpen. Dit kan wijzen op een onjuiste aanroep van de openbare API
- configuratie: Een configuratieverandering is nodig door TVE dashboard of door steun te contacteren.
- toepassing-registratie: De toepassing moet zich opnieuw registreren.
- authentificatie: De gebruiker moet voor authentiek verklaren of opnieuw voor authentiek verklaren.
- vergunning: De gebruiker moet vergunning voor het specifieke middel verkrijgen.
- degradatie: Één of andere vorm van degradatie zou moeten worden toegepast.
- herprobeer: Het opnieuw proberen van het verzoek zou de kwestie kunnen oplossen
- retry-after: Het opnieuw proberen van het verzoek na de vermelde periode zou de kwestie kunnen oplossen.
-
Kan een lege tekenreeks of een
null
-waarde bevatten.
klasse-besluit
public id: string;
- De bron-id waarvoor het besluit is genomen.
publiek toegestaan : Boolean ;
- De waarde van de markering die aangeeft of de beslissing succesvol is of niet.
openbare fout: status;
- Aanvullende status (status)-informatie voor het geval er een fout optreedt. Plaats mogelijk een
null
-waarde.
Voorbeeld van implementatie van client
let accessEnablerApi = new window.AccessEnabler.AccessEnabler("software statement");
let accessEnablerModels = window.AccessEnabler.models;
// Build request
let requestBuilder = new accessEnablerModels.PreauthorizeRequest.getBuilder();
let request = requestBuilder
.setResources(["RES01", "RES02", "RES03"])
.disableFeatures("LOCAL_CACHE")
.build();
// Create callback
let callback = {
onResponse(response) {
// Handle onResponse
},
onFailure(response) {
// Handle onFailure
}
};
// Invoke call
accessEnablerApi.preauthorize(request, callback);
Scenario-voorbeelden
Scenario 1: alle gevraagde middelen zijn goedgekeurd
Scenario 2: Sommige gevraagde middelen zijn toegestaan.
{
"decisions": [
{
"id": "RES01",
"authorized": true
},
{
"id": "RES02",
"authorized": true
},
{
"id": "RES03",
"authorized": true
}
]
}
Scenario 3: Geen van de gevraagde middelen werd toegestaan.
"JavaScript
{
"besluiten": [
"identiteitskaart": "RES01",
"geautoriseerd": waar
,
"identiteitskaart": "RES02",
"geautoriseerd": vals
,
{
"identiteitskaart" RES: "03",
"geautoriseerd": waar
]
"
"JavaScript
{
"besluiten": [
"identiteitskaart": "RES01",
"geautoriseerd": waar
,
"identiteitskaart": "RES02",
"geautoriseerd": vals,
"fout":
"status": 40 3,
"code": "preauthentication_deny_by_mvpd",
"bericht": "De MVPD heeft een "Weigeren\"besluit teruggegeven toen het verzoeken van pre-vergunning voor de gespecificeerde middel.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "niets"
,
{
"identiteitskaart": "RES03",
"geautoriseerd": waar
,
]
"
Scenario 4: Onjuist verzoek van de cliënt - geen gespecificeerde middelen.
"JavaScript
{
"besluiten": [
"identiteitskaart": "RES01",
"geautoriseerd": vals
,
"identiteitskaart": "RES02",
"geautoriseerd": vals
,
{
"identiteitskaart" RES: 03",
"geautoriseerd": vals
]
"
"JavaScript
{
"besluiten": [
{
"identiteitskaart": "RES01",
"geautoriseerd": vals,
"fout":
"status": 403,
"code": "preauthentication_deny_by_mvpd",
"bericht": "MVPD heeft a teruggekeerd Beslissing \ "ontken\"wanneer het verzoeken van pre-vergunning voor het gespecificeerde middel.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "niets"
,
"id": "RES02",
"geautoriseerd": vals,
fout":
"status": 403,
"code": "prepermission_by_mvpd",
"message": "The MVPD has returned a \"Deny\" decisions when request pre-Authorisation for the specified resource.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "none"
,
{
"id": "RES03",
"geautoriseerd": vals,
"fout":
"status": 403,
"code": "maximum_executing_time_over",
"message": "The request did not complete in the maximum allowed time. Het opnieuw proberen van het verzoek zou de kwestie kunnen oplossen.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "retry"
]
"
"JavaScript
{
"status":
"status": 400,
"code": "internal_error",
"message": "The request failed due to an internal error.",
"details": "Required String[] parameter "resource" is not present",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "niets"
,
"besluiten": []
"
Scenario 5: Onjuist cliëntverzoek - lege gespecificeerde middelen.
"JavaScript
{
"status":
"status": 412,
"code": "missing_resource",
"bericht": "De middelparameter mist",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "niets"
,
"decisions": []
}
"
Scenario 6: De fout van het netwerk.
"JavaScript
{
"besluiten": [
"identiteitskaart": "RES01",
"geautoriseerd": vals,
"fout":
"status":
"code": "network_receive_error",
"bericht": "Er was een gelezen fout terwijl het terugwinnen van de reactie de bijbehorende partnerdienst. Het opnieuw proberen van het verzoek zou de kwestie kunnen oplossen.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "retry"
,
"id": "RES02",
"toegelaten": vals,
"fout":
"status": 403,
"code": "network_receive_error",
"bericht": "Er was een gelezen fout terwijl het terugwinnen van de reactie van de bijbehorende partnerdienst. Het opnieuw proberen van het verzoek zou de kwestie kunnen oplossen.",
"helpUrl": "https://experienceleague.adobe.com/docs/primetime/authentication/home.html",
"actie": "retry"
]
"
Scenario 7: De stroom van de pre-autorisatie werd aangehaald zonder een geldige zitting AuthN.
"JavaScript
{
"status":
"status": 0,
"code": "authentication_session_missing",
"bericht": "De authentificatiesessie verbonden aan dit verzoek kon niet worden teruggewonnen. De gebruiker moet met gesteunde MVPD opnieuw voor authentiek verklaren om verder te gaan.",
"actie": "authentificatie"
,
"besluiten": []
"
Scenario 8: de stroom van de preAutorisate werd aangehaald alvorens de reeksRequestor vraag werd voltooid
"JavaScript
{
"status":
"status": 0,
"code": "requestor_not_configured",
"bericht": "De aanvrager is nog niet gevormd die een eerste vereiste voor het gebruiken van om het even welke API behalve setRequestor API." is,
"actie": "retry"
,
"besluiten": []
"