質問・問題
Restful API をクライアントサイドから直接使用しても問題ありませんか ?
回答・解決方法
Agora の Restful API はクライアントサイドからの呼び出しには対応しておりません。自前で準備いただいたサーバーからの呼び出し実行を強く推奨いたします。
Restful API は basic 認証を使用するため、リクエスト毎に Authorization フィールドとして認証情報を HTTP ヘッダに含める必要があります。
この認証情報は Agora Console から入手できますが、Agora 社の各サービス・プロダクト (Video/VoiceSDK, Cloud Recording, Console など) ごとに区切られていません。
そのため、もしクライアントサイドから Restful API を直接呼び出す設計をした場合、そのクライアント側に認証情報が共有され、想定外の操作が行われるリスクがありますため、この手法は推奨しません。
クライアント側が Restful API からのデータ (チャンネル内の参加者一覧、など) を必要とする場合、以下のアプローチをご参考ください:
- 代役としてバックエンドサーバー (mediator) を用意し、その中の安全な場所に認証情報を保管しておく
- クライアントがバックエンドサーバーに対してリクエストを送信する (下図、 1 の矢印)
- バックエンドサーバーはリクエスト受信後、Restful API でデータを取得する(下図、 2 および 3 の矢印)
- バックエンドサーバーはデータ取得後、必要なデータ処理を適宜実施した後、レスポンスとしてクライアントに返す(下図、 4 の矢印)
クライアントサイドに Web ブラウザが含まれる場合、バックエンドサーバーは CORS リクエストを考慮してレスポンスを返す必要があります。
Restful API での basic 認証方法の手順に関する情報は、以下リンクをご参考ください: