Authentification MVPD mvpd-authn
Vue d’ensemble mvpd-authn-overview
Le rôle de fournisseur de services réel (SP) est détenu par un programmeur, mais l’authentification Adobe Pass sert de proxy SP pour ce programmeur. L’utilisation de l’authentification Adobe Pass en tant qu’intermédiaire permet aux programmes de développement multivarié et aux programmeurs d’éviter d’avoir à personnaliser leurs processus de droits au cas par cas.
Les étapes ci-dessous présentent la séquence d’événements, à l’aide de l’authentification Adobe Pass, lorsqu’un programmeur demande l’authentification auprès d’un MVPD qui prend en charge SAML. Notez que le composant Adobe Pass Authentication Access Enabler est actif sur le client de l’utilisateur/abonné. A partir de là, l’Access Enabler facilite toutes les étapes du flux d’authentification.
- Lorsque l’utilisateur demande l’accès à un contenu protégé, Access Enabler lance l’authentification (AuthN) pour le compte du programmeur (SP).
- L’application du SP présente un "Sélecteur MVPD" à l’utilisateur afin d’obtenir son fournisseur de télévision payante (MVPD). Le SP redirige ensuite le navigateur de l’utilisateur vers le service de fournisseur d’identité (IdP) du MVPD sélectionné. Il s’agit de "Login initié par le programmeur". Le MVPD envoie la réponse de l’IdP au service consommateur d’assertion SAML de l’Adobe, où elle est traitée.
- Enfin, Access Enabler redirige le navigateur vers le site du SP, informant le SP de l’état (succès/échec) de la requête AuthN.
La demande d’authentification authn-req
Comme présenté dans les étapes ci-dessus, pendant le flux AuthN, un MVPD doit accepter une requête AuthN basée sur SAML et envoyer une réponse AuthN SAML.
La spécification de l’interface d’authentification et d’autorisation d’accès au contenu en ligne (OLCA) présente une requête et une réponse AuthN standard. Bien que l’authentification Adobe Pass ne nécessite pas que les MVPD basent leurs messages de droits sur cette norme, l’examen de la spécification peut fournir des informations sur les attributs clés requis pour une transaction AuthN.
Exemple de requête d’authentification SAML :
<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest
AssertionConsumerServiceURL=http://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer
Destination=http://idp.com/SSOService
ForceAuthn="false"
ID="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
IsPassive="false"
IssueInstant="2010-08-03T14:14:54.372Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
http://saml.sp.adobe.adobe.com
</saml:Issuer>
<ds:Signature xmlns:ds=_signature_block_goes_here_
</ds:Signature>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
SPNameQualifier="http://saml.sp.adobe.adobe.com"/>
</samlp:AuthnRequest>
Le tableau ci-dessous explique les attributs et balises qui doivent se trouver dans une requête d’authentification, avec les valeurs attendues par défaut.
Détails de la demande d’authentification SAML
Réponse d’authentification authn-response
Après avoir reçu et géré la demande d’authentification, le MVPD doit maintenant envoyer une réponse d’authentification.
Exemple de réponse d’authentification SAML
<?xml version="1.0" encoding="UTF-8"?>
<samlp:Response Destination="https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer"
ID="_0ac3a9dd5dae0ce05de20912af6f4f83a00ce19587"
InResponseTo="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
IssueInstant="2010-08-17T11:17:50Z" Version="2.0"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
http://idp.com/SSOService
</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="pfxb0662d76-17a2-a7bd-375f-c11046a86742"
IssueInstant="2010-08-17T11:17:50Z"
Version="2.0">
<saml:Issuer>http://idp.com/SSOService</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#pfxb0662d76-17a2-a7bd-375f-c11046a86742">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform
Algorithm=http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>LgaPI2ASx/fHsoq0rB15Zk+CRQ0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
POw/mCKF__shortened_for_brevity__9xdktDu+iiQqmnTs/NIjV5dw==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIDVDCCAjygAwIBA__shortened_for_brevity_utQ==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
SPNameQualifier="https://saml.sp.auth.adobe.com">
_5afe9a437203354aa8480ce772acb703e6bbb8a3ad
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
NotOnOrAfter="2010-08-17T11:22:50Z"
Recipient="https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2010-08-17T11:17:20Z"
NotOnOrAfter="2010-08-17T19:17:50Z">
<saml:AudienceRestriction>
<saml:Audience>https://saml.sp.auth.adobe.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2010-08-17T11:17:50Z"
SessionIndex="_1adc7692e0fffbb1f9b944aeafce62aaa7d770cd9e">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:Password
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
Dans l’exemple ci-dessus, le SP Adobe s’attend à récupérer l’ID utilisateur en dehors de l’ID de sujet/nom. Le SP d’Adobe peut être configuré pour obtenir l’ID utilisateur à partir d’un attribut défini personnalisé. La réponse doit contenir un élément comme suit :
<saml:AttributeStatement>
<saml:Attribute Name="guid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">
71C69B91-F327-F185-F29E-2CE20DC560F5
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
Détails de la réponse d’authentification SAML