1

シナリオ

Google API Objective-C クライアント ライブラリを使用して、OAuth2 認証を使用してユーザーの Youtube アカウントにアップロードする iOS アプリがあります。

「マスター アカウント」にアップロードし、ユーザー ログインを回避するための変更要求がありました。この「マスター アカウント」は、iOS アプリからのすべてのビデオのコレクションになります。

質問1

セキュリティ、クォータ、および責任の問題はさておき、これは可能なのでしょうか?

アップロードには認証が必要なようで、クライアント ライブラリはアプリ キー認証 (またはサービス アカウント) をサポートしていません。

質問2

これは、生の http 要求で実行できるものですか? 技術的に不可能な場合は、Google クライアント ライブラリに機能を追加することを掘り下げたくありません。

ノート

Google に直接電話をかけ、中間サーバーを使用しないようにします。

4

1 に答える 1

1

これは可能ですが、失敗への非常に速い方法です。なんらかの形で更新トークンをクライアントに配布する必要があります。誰かがこのトークンを非常に簡単に抽出し、それを使用してクォータを DoS することができるため、これは非常に悪いことです。さらに、誰かがこれを行った場合は、更新トークンを無効にして更新する必要があります。これは通常、アプリの更新を意味します (回避しようとしているサード パーティのサーバーからアプリに更新トークンをダウンロードさせない限り)。生の HTTP やスクリーンスクレイピング経由で API を使用する場合も同じ問題が発生します。これは、メールとパスワードを配布する必要があるためです。アカウントにフラグが立てられる可能性があります。

これは、クォータ、悪いビデオをアップロードしてアカウントが禁止されること、およびそのすべての利点に関するすべての明らかな問題を無視します.

私は一般的にこのアプローチを避け、マスター アカウントでプレイリストを使用しますが、水に勇敢に立ち向かう意思がある場合は、次の 2 つのオプションがあります。

  1. 中間サーバーを作成します。このサーバーは、アクセス トークンを取得し、それをクライアントに返します。クライアントは少なくとも更新トークンにアクセスできませんが、悪意のあるクライアントはアクセス トークンを使用して同様の損害を与えることができます。
  2. 中間サーバーを使用してビデオを保存すると、独自のレート制限を追加レイヤーとして実行して、アプリが悪意を持って使用されるのを防ぐことができます.
于 2013-07-03T20:10:12.393 に答える