as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

@amazon-devices/tve-adobe-sso-enabler

@amazon-devices/tve-adobe-sso-enabler

TVE向けKepler Adobe SSO Enabler APIは、サードパーティのTV Everywhere(TVE)アプリでローカルテレビ加入者の認証、承認、権限の検証を実行するための機能を提供します。Adobeのソリューションに関する詳細なドキュメントについては、AdobeのウェブサイトのREST API V2 - API - 概要を参照してください。

Adobeが提供するシングルサインオン(SSO)機能を使用するKepler上のTVEアプリでは、TveAdobeSsoEnabler APIを使用して「Adobe-Subject-Token」を取得できます。このトークンは、AdobeのドキュメントプラットフォームIDフローを使用したシングルサインオンで説明されているように、Adobeに対して行われるAPI呼び出しに関連付けることができます。

開始手順

前提条件

  1. Adobeのドキュメントに従って、認証、承認、権限の検証フロー用のアプリを作成します。
  2. Amazonのソリューションアーキテクトと協力して、アプリのパッケージIDでSSOトークンを取得することを認可します。

Authorization

このAPIによって提供されるSSOトークンには、Amazonソリューションアーキテクトによって承認されたアプリのみがアクセスできます。アプリがAmazonのソリューションアーキテクトによって承認された後、アプリ開発者はAPIにアクセスしてSSOトークンを取得するまでに、最大24時間待たなければならない場合があります。

セットアップ

  1. package.jsonファイルのdependenciesセクションに、以下のライブラリ依存関係を追加します。

    クリップボードにコピーしました。

       "@amazon-devices/tve-adobe-sso-enabler": "~0.0.4",
    
  2. manifest.tomlに、以下の権限を追加します。

    クリップボードにコピーしました。

    [wants] 
    [[wants.module]] 
    id = /com.amazon.tve.adobe_sso_enabler@IAdobeSsoEnabler 
    
    [[wants.service]] 
    id = "com.amazon.tve.sso.companion.service"
    

使用方法

  1. TveAdobeSsoEnablerをアプリコードにインポートします。

    クリップボードにコピーしました。

    import { TveAdobeSsoEnabler } from '@amazon-devices/tve-adobe-sso-enabler';
    
  2. SSOトークンを取得して、トークンを使用するか、エラーを処理します。

    クリップボードにコピーしました。

     TveAdobeSsoEnabler.getSsoToken().then((token: string) => {
       // トークンを処理します。
     }).catch((error: string) => {
       // エラーを処理します。
     });
    

注: SSOトークンを使用しなくても、アプリはAdobeのAPIで認証できます。SSOトークンがないか、正しくない場合、シングルサインオン機能は動作しません。つまり、ユーザーはすべてのTVEアプリに個別にログインする必要があります。

一般的なユースケース

次のサンプルコードは、Adobeのドキュメントの説明に従って、SSOトークンを使用してプロフィールを取得する方法を示しています。アプリは、Adobeにアプリを登録する際にPROVIDER_NAMEMVPD_NAMEを取得します。SSOトークン(SsoTokenフィールドに格納されています)はGetProfilesParamsオブジェクトの一部であり、TveAdobeSsoEnabler.getSsoToken()を呼び出すことによって取得されます。

クリップボードにコピーしました。

const ADOBE_GET_PROFILES_PATH = `/api/v2/%PROVIDER_NAME%/profiles/%MVPD_NAME%`;
const ADOBE_BASE_URL = 'https://sp.auth.adobe.com';

export interface GetProfilesParams {
  accessToken: string;
  ssoToken: string;
  deviceIdentifier: string;
}

export interface GetProfilesResponse {
  profiles: Record<string, Profile>;
}

export interface Profile {
  notBefore: number;
  notAfter: number;
  issuer: string;
  type: string;
  attributes: Record<string, Record<string, string>>;
}

export async function getProfiles(params: GetProfilesParams) {
  const url = new URL(ADOBE_GET_PROFILES_PATH, ADOBE_BASE_URL);

  const response = await fetch(url, {
    method: 'GET',
    headers: {
      Accept: 'application/json',
      'Adobe-Subject-Token': params.ssoToken,
      'AP-Device-Identifier': `fingerprint ${params.deviceIdentifier}`,
      Authorization: `Bearer ${params.accessToken}`,
    },
  });

  if (!response.ok) {
    throw new Error('Bad response');
  }

  const payload: GetProfilesResponse = await response.json();
  return payload;
}

トラブルシューティング

  1. TveAdobeSsoEnabler.getSsoToken()関数を呼び出した後、アプリに「«パッケージID» is not allowed」というエラーが表示された場合、アプリにはSSOトークンを取得する権限がありません。アプリ開発者は、Amazonのソリューションアーキテクトと協力してアプリのパッケージIDの承認を受け、24時間待ってからトークンの取得を再試行する必要があります。

Adobe REST API V2 APIの概要(Adobeドキュメント)

モジュール


Last updated: 2025年10月2日