API: /uploadsへのアクセス権を持つスコープ

投稿をスレッドに投稿するロボットがあります。時々、まず画像をアップロードしてから、投稿に含めたい場合があります。

私の知る限り、/uploads へのアクセスを許可する API スコープはありません。そのため、すべてにアクセスできるようにする必要があります。

これを実現するために標準スコープを定義すること、または管理者が定義したエンドポイントへのアクセスを許可するカスタムスコープを許可することは、妥当でしょうか。(a) 標準スコープを定義すること、または (b) 管理者が定義したエンドポイントへのアクセスを許可するカスタムスコープを許可すること。

「いいね!」 3

試しましたか?投稿できるユーザーならアップロードもできるはずだと思います。

「いいね!」 2

ええ、そうでなければ投稿しませんでしたか?具体的には、/postsではなく/uploadsエンドポイントが必要なため、応答は403になります。

これは役に立ちますか?

「いいね!」 1

ありがとうございます。しかし、そうではありません。

アップロードは機能しています(/uploads エンドポイントを使用)。しかし、これが機能するようにAPIキーの権限を付与する唯一の方法は、すべての権限を付与することであり、これは明らかなセキュリティリスクです。

私が求めているのは、/uploads を含むAPI権限スコープです。「投稿の書き込み」の一部であれば問題ありませんが、別個のものにする理由があるかもしれません。それができない場合(おそらく一般的に良い考えですが)、私が許可したい特定の項目を含むカスタムスコープを定義できるようにしたいです。

「いいね!」 2

アップロードを作成するスコープを持つことは、私にとって良いアイデアのように思えます。間違いなく pr-welcome です。関連する変更は次のあたりになります。

さらに、新しい翻訳文字列がこちらにあります。

これは \"uploads\": \"create\" として最も意味があると思います。

@RogerBW さん、ここでPRを作成する意思/能力はありますか?もしそうであれば、どうぞ進めてください。その後、このトピックにリンクを投稿してください。

「いいね!」 5

まあ、誰もが投稿する前にそのような明白なことをするわけではありません。申し訳ありません!少なくとも、私よりもこの問題について詳しいと思う別の人が、投稿を作成できるスコープがあれば、それに伴うアップロードも作成できると期待していたようです。

APIキーが投稿を作成できるのであれば、ユーザーが投稿を作成できるのと同様に、アップロードも作成できるというのは理にかなっていませんか?

「いいね!」 2

投稿のコンテキスト以外でアップロードが役立つ状況はありますか?私の理解では、アップロードは投稿に関連付けられていない場合、定期的に自動的に削除されるため、アップロードはできるが投稿の作成/変更はできないAPIキーのスコープを設定することは、明らかに役立つようには思えません。

@pfaffmanが言及したように、topics:writeおよびposts:editスコープが、関連付けられたユーザーがアップロードする権限を持っている場合にアップロードへのアクセスを許可する方が理にかなっているようです。

「いいね!」 1

はい、アバターは同じアップロードルートを使用しますが、投稿には添付されません。

「いいね!」 5

新しいアバターのアップロードは、おそらく users:update API スコープで利用できるものになるでしょう。(現在は不可能ですか?)

アップロードが利用される可能性のある、より多様で将来的な経路を考えると、別個のスコープを作成し、適切なスコープを選択する責任をユーザーに負わせるのがおそらく理にかなっています。API キーがいつアップロードできるか、できないかをユーザーが明確に理解でき、API を拡張した場合にアップロードが利用される可能性のある状況を見逃すことを回避できます。

「いいね!」 1

完了しました。テストなどが必要ですが、少なくともベースラインはここにあります。

説明した理由により、別のスコープを使用しました。投稿は許可するがアップロードは許可しない、というような設定をしたい場合があることは十分に理解できます。

「いいね!」 6

ありがとうございます。GitHubにレビューを追加しました。

「いいね!」 5