쓰레드에 게시물을 올리는 로봇을 운영하고 있습니다. 때로는 이미지를 먼저 업로드한 후 게시물에 포함시키고 싶어 합니다.
제가 확인한 바로는 /uploads에 접근할 수 있는 API 스코프가 없어, 모든 항목에 대한 접근 권한을 부여해야 하는 상황입니다.
(a) 이를 위한 표준 스코프를 정의하거나, (b) 관리자 정의 엔드포인트에 접근할 수 있는 사용자 지정 스코프를 허용하는 것이 합리적인가요?
쓰레드에 게시물을 올리는 로봇을 운영하고 있습니다. 때로는 이미지를 먼저 업로드한 후 게시물에 포함시키고 싶어 합니다.
제가 확인한 바로는 /uploads에 접근할 수 있는 API 스코프가 없어, 모든 항목에 대한 접근 권한을 부여해야 하는 상황입니다.
(a) 이를 위한 표준 스코프를 정의하거나, (b) 관리자 정의 엔드포인트에 접근할 수 있는 사용자 지정 스코프를 허용하는 것이 합리적인가요?
시도해 보셨나요? 게시물을 올릴 수 있는 사용자는 업로드도 할 수 있을 것 같습니다.
네, 물론이죠. 안 해 봤다면 게시글을 올리지 않았을 겁니다. 구체적으로 말씀드리면, /posts 대신 /uploads 엔드포인트가 필요해서 응답이 403으로 반환되고 있습니다.
이게 도움이 될까요?
감사합니다만, 사실은 아닙니다.
업로드 기능은 정상적으로 작동하고 있습니다(/uploads 엔드포인트 사용). 하지만 이 기능을 작동시키기 위해 API 키에 권한을 부여하려면 모든 권한을 부여해야 하는데, 이는 명백한 보안 위험입니다.
제가 요청하는 것은 /uploads를 포함하는 API 권한 스코프입니다. "게시물 쓰기"에 포함된다면 괜찮지만, 별도의 항목으로 만드는 데에는 이유가 있을 수 있습니다. 그게 안 된다면(그리고 전반적으로 좋은 아이디어일 수 있지만), 제가 허용하려는 특정 항목을 포함하는 사용자 정의 스코프를 정의할 수 있기를 바랍니다.
업로드 생성을 위한 스코프를 추가하는 건 좋은 아이디어인 것 같습니다. 확실히 #pr-welcome입니다. 관련 변경 사항은 여기 근처에서 이루어져야 합니다:
그리고 여기에 새로운 번역 문자열이 필요합니다.
"uploads": "create"로 하는 것이 가장 적절할 것 같습니다.
@RogerBW 여기서 PR을 만들 의향이 있으신가요? 가능하다면 진행해 주시고, 그 후 이 토픽에 링크를 남겨 주세요.
글쎄요, 모든 사람이 게시 전에 그렇게 명백한 일을 하는 것은 아닙니다. 죄송합니다! 이 특정 문제에 대해 저보다 더 잘 알고 있다고 생각하는 최소 한 명이, 게시물을 생성할 수 있는 스코프가 그에 따른 업로드도 생성할 수 있을 것이라고 기대했던 것으로 보입니다.
API 키가 게시물을 생성할 수 있다면 업로드도 생성할 수 있는 것이 합리적이지 않나요? 게시물을 생성할 수 있는 사용자가 업로드도 생성할 수 있는 것과 마찬가지입니다.
게시물 컨텍스트 밖에서 업로드가 유용한 상황이 있을까요? 제 이해로는 업로드가 게시물과 연관되지 않으면 주기적으로 자동으로 삭제되므로, 업로드는 허용하되 게시물을 생성하거나 수정하는 것은 허용하지 않는 API 키 범위를 설정하는 것이 유용해 보이지 않습니다.
@pfaffman이 언급했듯이, 업로드 권한이 있는 사용자의 경우 topics:write와 posts:edit 범위가 업로드 접근 권한을 부여하는 것이 더 합리적일 것 같습니다.
네, 아바타가 같은 업로드 경로를 사용하지만 게시물에 첨부되지는 않는 것으로 꽤 확신합니다.
아마도 새로운 아바타를 업로드하는 기능은 users:update API 스코프를 활용할 때 사용할 수 있는 것일 것입니다. (현재는 불가능한가요?)
업로드가 사용될 수 있는 다양한 경로와 미래의 잠재적 활용을 고려할 때, 별도의 스코프를 생성하고 적절한 스코핑을 선택할 책임은 사용자에게 맡기는 것이 더 합리적일 수 있습니다. 이렇게 하면 API 키가 업로드를 할 수 있는/할 수 없는 경우가 사용자에게 명확해지며, API를 확장할 때 업로드가 사용될 수 있는 상황을 놓칠 가능성을 방지할 수 있습니다.
완료했습니다. 테스트 등이 필요하지만, 여기에는 최소한의 기준이 마련되었습니다.
설명된 이유에 따라 별도의 스코프를 사용했습니다. 게시글은 허용하되 업로드는 허용하지 않는 경우가 있을 수 있다는 점을 충분히 이해하고 있습니다.
감사합니다! GitHub에 리뷰를 추가했습니다.