はじめに
この文書では、OIDCベースのIDプロバイダーを使用して、Brightcove Beaconアプリケーションでビューアを認証する方法の設定について詳しく説明します。詳細を説明する前に、プロセスの全体像を把握することが参考になります。Beaconアプリを銀行ATMと考えてください。利用者に必要なのは、ATMのお金にアクセスするための銀行カードです。同様に、視聴者はBeaconアプリのビデオにアクセスするためのIDが必要です。次に、この例えのエンティティに関連する表を示します。
ATM/銀行カード | ビーコンアプリ |
---|---|
ATM | ビーコンアプリ |
トランザクションを許可する機能/接続ATM | OAuth2.0 |
銀行カード | OIDCからのJSONWebトークン(JWT) |
銀行カードを発行するプロセス | OIDC |
バンクカードにATMとそのデバイスの基本機能が必要なのと同じように、OIDCが機能するにはOAuthが必要です。OIDCはOAuthの上に座るとよく言われます。
認証のセットアップとテスト
Beaconを使用してOIDCIDプロバイダーを設定およびテストするには、次の作業を実行します。
- 許可されているリダイレクトURIとしてOIDCプロバイダーに追加するコールバックURLをBrightcoveから取得します。IDプロバイダーは、これらのURIを使用して、認証コードSign-inURLを使用してビューアをQAおよびテスト環境にリダイレクトします。どちらの環境でも、ユーザを許可コードでリダイレクトするリダイレクトURIを指定します。
- 次の応答のために、OTT配信チームにAPIエンドポイントを実装して提供します。
- アクセストークン(JWT)
- IDトークン(JWT)
- トークンの更新
- ユーザー情報
- 承認する
- ペアリングコード-SmartTV、AndroidTV、FireTV、またはAppleTVが範囲内にある場合にのみ必要です。Rokuに関する注意事項を参照してください。
- JWKS
- ログアウト
- OpenIDConnectDiscovery(/.well-known/openid-configuration)-これが正しく設定され、提供されている場合、OTTデリバリチームはステップfで説明したようにエンドポイントを検出し、ビーコンエンジニアリングチケットを提供できます。下
- IDプロバイダーによって必要に応じて、ログインおよびログアウト用のリダイレクトURLを許可されたリダイレクトURLとして設定します。
- 対象となるすべてのアプリケーションのクライアントIDを作成し、OTTデリバリチームに提供します。
- IDプロバイダーにテストユーザを作成し、OTT配信チームにテストクレデンシャルを提供します。
参考までに、Brightcoveエンティティは次のようになります。
- OTT配送チームは、OTTボード内のビーコンCMSについて、上記のステップ2と5のデータでチケットを作成します。
- OTT配送チームは、OTTボード内のビーコンビーコンアプリに対して、上記の4段階と5段階のデータでチケットを作成する。
- BeaconCMSチームは、上記のステップ6のURLを使用してBeaconCMSを設定します。
- Beaconアプリケーションチームは、上記のステップ5からクライアントIDを使用してアプリケーションを設定し、提供されたテストユーザーを使用して開発テストを行います。
- OTTデリバリチームのQAチームは、UATリリースのビルドを検証する前に、エンドツーエンドの認証を検証します。
トークンおよびユーザ応答
OIDCベースのIDプロバイダーによるビューアの認証には、次の3つのトークンが関与します。
- access_access_access_modules
- id_translated
- refresh_refresh_refresh
アクセストークン
アクセストークンには、認証サポートのためだけに次のクレームが必要です。
- サブ
- イズ
- エクスプローラ
- アイアト
- aud(要求された場合のみ)
次に、OIDCプロバイダートークンエンドポイントが提供できるアクセストークン応答の例を示します。
デコードされたアクセストークンを次に示します。
IDトークン
idトークンには、認証サポートのためだけに次のクレームが必要です。
- サブ
- イズ
- エクスプローラ
- アイアト
- オード
- ナンス
次に、OIDCプロバイダートークンエンドポイントが提供できるIDトークン応答の例を示します。
デコードされたIDトークンを次に示します。
トークンのリフレッシュ
リフレッシュトークンは単なる識別子です。データは含まれていません。データはトークンそのものです。
ユーザ情報応答
ユーザ情報応答はJSONオブジェクトであり、認証サポート専用に次のフィールドが必要です。
- サブ
- name/ニックネーム/full_name/displayName(1つ以上)
- 電子メール
次に、ユーザ情報応答の例を示します。
既知の問題
- Rokuの実装には、BrightcoveGlobalServicesとのカスタム契約が必要です。これはRokuの認証要件によるものです。これを行わないと、RokuはRokuストアでのチャネルの公開を拒否することになります。詳細については、Roku's を参照してください。オンデバイス認証資料。