ユーザーメタデータ user-metadata
概要 intro
ユーザ メタデータ機能を使用すると、プログラマは MVPD によって管理されるユーザ固有のデータにアクセスできます。 ユーザーメタデータタイプには、郵便番号、保護者による制限、ユーザー ID などが含まれます。 ユーザー メタデータは、以前に使用可能だった 静的 メタデータ(認証トークン TTL、認証トークン TTL およびデバイス ID)の拡張です。
ユーザーメタデータの重要なポイント:
- 認証および承認フロー中にプログラマのアプリケーションに渡される
- 値はトークンに保存されます
- 異なる MVPD が異なる形式でデータを提供する場合は、値を正規化できます
- 一部のパラメーターは、プログラマーのキー(郵便番号など)を使用して暗号化できます。暗号化証明書の生成については、 暗号化用のユーザーメタデータ証明書を参照してください
- 設定を変更すると、特定の値がAdobeで使用可能になります
ユーザーメタデータの取得 obtaining
ユーザーのメタデータは、AccessEnabler の getMetadata()
関数およびクライアントレス API の /usermetadata
エンドポイントを介してプログラマーが利用できます。 getMetadata()
の使用とそれに対応するコールバック setMetadataStatus()
(またはクライアントレス API で使用されるエンドポイントとパラメーター)について詳しくは、Platform API ドキュメントを参照してください。
プログラマーは、取得するメタデータのタイプ(getMetadata(key)
)のキーを指定することで、メタデータを取得します。
メタデータが次のように返されます。setMetadataStatus(key, encrypted, data)
key
encrypted
data
データパラメーターの構造、値はタイプによって異なります。
zip
householdID
userID
と同じですmaxRating
VCHIP: "X",
URL: "http://manage.my/parental" }
userID
userID
は householdID
とは異なります。channelID
is_hoh
encryptedZip
typeID
primaryOID
typeID
がプライマリの場合、には userID
の値が含まれます重要: プログラマーが使用できる実際のユーザーメタデータは、MVPD の機能によって異なります。 実稼動環境で機密性の高いユーザーメタデータ(郵便番号など)を利用できるようにするには、MVPD との法的契約を締結する必要があります。
この場合のハッシュは、過去の理由に基づいて行われました
この ID は、世帯 ID またはサブアカウント ID の可能性があります。 これは通常、指定せず、その時点で使用されていたログイン(プライマリ ID またはサブアカウント)に関連付けられた ID のみです
ID には、同時実行監視ポリシーも含めることができます
ほとんどの MVPD では、この値はユーザー ID と同じです
真のレーティングが利用できない場合は、ペアレンタルコントロールの代用として使用されることがあります(ユーザーが家庭内アカウントでログインしている場合、視聴可能であれば、レーティングされたコンテンツは表示されません)
家庭内ユーザー ID、世帯主 ID、世帯主フラグなど、MVPD 間にはさまざまな表現があります。
タイプ ID = ユーザーアカウントがプライマリ/セカンダリ アカウントかどうかを識別するフラグ
プライマリ OID =世帯 ID。 TypeID がプライマリの場合、には userID の値が格納されます
MPAA または VCHIP の評価あり
プリフライト認証を使用すると、通常、このユースケースをより柔軟に実行できるので、代わりに使用してください
OLCA の仕様により、AuthN 応答の AttributeStatement としてこれを使用できます
高速なアップデート
機密データ用の AuthZ 応答を提供することも可能で、MVPD の法的契約が必要
使用可能なメタデータ available_metadata
次の表に、Adobe Pass認証エコシステムのユーザーメタデータの現在のステータスを示します。
Agreement
Signed (zip のみ)
ユーザー ID
AuthN/Z
AuthN/Z
ID
userID
zip
maxRating
householdID
channelID
2。 AuthZ の場合 – 認証実装は MVPD 固有なので、一般的な方法はありません
これは Synacor の一般的なサポートで、すべての MVPD にロールアップされていない可能性があります。
MVPD
すべての MVPD の場合、ユーザー ID は追加作業なしで使用できます。
新しいタイプが利用可能になり、Adobe Pass認証システムに追加されると、ユーザーメタデータタイプのリストが拡張されます。
コードサンプル code_samples
コードのサンプル 1 code_sample1
// Assuming a reference to the AccessEnabler has been previously obtained and stored in the "ae" variable
ae.setRequestor("SITE");
ae.checkAuthentication();
function setAuthenticationStatus(status, reason) {
if(status ==1) {
// User is authenticated, request metadata
ae.getMetadata("zip");
ae.getMetadata("maxRating");
} else {
...
}
}
// Implement the setMetadataStatus() callback
function setMetadataStatus(key, encrypted, data) {
if(encrypted) {
// The metadata value is encrypted
// Needs to be decrypted by the programmer
data = decrypt(data);
}
alert(key + "=" + data);
}
コードサンプル 2 (モック getMetadata) code_sample2
// Assuming a reference to the AccessEnabler has been
// previously obtained and stored in the "ae" variable
// Mock the getMetadata() method
var aeMock = {
getMetadata: function(key) {
var data = null;
// Set mock data based on the received key,
// according to the format in the spec
switch(key) {
case 'zip':
data = [ "1235", "23456" ];
break;
case 'maxRating':
data = { "MPAA": "PG-13", "VCHIP": "TV-14" };
break;
default:
break;
}
// Call the metadata status just like AccessEnabler does
setMetadataStatus(key, false, data);
}
}
ae.setRequestor("SITE");
ae.checkAuthentication();
function setAuthenticationStatus(status, reason) {
if (status == 1) {
// User is authenticated, request metadata using mock object
aeMock.getMetadata("zip");
aeMock.getMetadata("maxRating");
} else {
...
}
}
// Implement the setMetadataStatus() callback
function setMetadataStatus(key, encrypted, data) {
if (encrypted) {
// The metadata value is encrypted, so it
// needs to be decrypted by the programmer
data = decrypt(data);
}
alert(key + "=" + data);
}