Eu tenho um robô que posta em threads. Às vezes, ele gostaria de fazer upload de uma imagem primeiro e incluí-la na postagem.
Pelo que pude ver, não há um escopo de API que dê acesso a /uploads, então tenho que dar a ele acesso a tudo.
Seria razoável (a) definir um escopo padrão para fazer isso ou (b) permitir um escopo personalizado com acesso a endpoints definidos pelo administrador?
Tenho uploads funcionando (usando o endpoint /uploads). Mas a única maneira de conceder permissões de chave de API para que isso funcione é conceder todas as permissões, o que é um risco de segurança óbvio.
O que estou pedindo é um escopo de permissões de API que inclua /uploads - se fizesse parte de “escrever posts”, tudo bem para mim, mas pode haver razões para torná-lo uma coisa separada. Caso contrário (e provavelmente uma boa ideia em geral), eu gostaria de poder definir um escopo personalizado que inclua as coisas específicas que desejo permitir.
Bem, nem todo mundo faz coisas tão óbvias antes de postar. Desculpe por isso! Parece que pelo menos uma outra pessoa (que eu pensaria que sabe mais do que eu sobre esta questão em particular) esperava que um escopo que pudesse criar uma postagem também pudesse criar os uploads para acompanhá-la.
Não faz sentido que, se uma chave de API pode criar uma postagem, ela também possa criar um upload, assim como um usuário que pode criar uma postagem também pode criar um upload?
Existem situações em que uploads são úteis fora do contexto de uma postagem? Pelo que entendi, os uploads são removidos automaticamente periodicamente se não estiverem associados a postagens, portanto, tornar possível definir um escopo de chave de API para upload e não para criação/modificação de postagens não parece obviamente útil.
Como o @pfaffman mencionou, faria mais sentido se os escopos topics:write e posts:edit concedessem acesso para upload se o usuário associado tivesse permissão para fazer upload.
Presumivelmente, o upload de um novo avatar é algo que se pode utilizar com o escopo da API users:update. (O que atualmente não é possível?)
Com mais caminhos variados e potenciais futuros onde os uploads podem ser usados, provavelmente faz sentido criar um escopo separado e deixar para o usuário a responsabilidade de escolher o escopo apropriado. Fica claro para os usuários quando uma chave de API poderá ou não fazer upload e evita potencialmente perder situações onde os uploads poderiam ser usados se/quando as APIs forem estendidas.