비공개 파일

Fóir의 모든 파일은 공개 또는 비공개이며, 이 설정은 파일에 속합니다. 공개 파일은 일반 URL로 제공되고, 비공개 파일은 만료되는 서명된 링크로 제공됩니다.

각 종류가 제공되는 방식

공개 파일에는 CDN이 캐시할 수 있고 링크를 가진 누구나 가져올 수 있는 직접 URL이 있습니다. 비공개 파일의 URL에는 서명된 토큰이 포함되며, CDN은 유효한 토큰이 없는 요청을 거부합니다. 토큰은 파일 하나만 열 수 있고 기본적으로 한 시간 뒤 만료됩니다. 파일의 id를 보관해 두었다가 필요할 때 URL을 다시 읽어야 합니다. 이전 URL은 작동하지 않게 됩니다.

파일에는 자체 소유자와 공개 범위가 있습니다

둘 다 파일에 설정되며, 레코드에서 파일을 참조해도 어느 쪽도 바뀌지 않습니다. 공개 파일은 이를 가리키는 레코드의 공개 범위와 관계없이 URL로 계속 가져올 수 있습니다.

비공개 파일을 참조하는 레코드를 읽을 때, Fóir는 호출자가 파일 자체에 접근할 수 있는 경우에만 파일 URL에 서명합니다. 그렇지 않으면 URL은 서명 없이 나가고 CDN이 거부합니다.

기본값

기본값은 소유권을 따릅니다. 여러분의 사용자가 소유한 파일은 사용자가 업로드했든, 사용자가 트리거한 오퍼레이션 실행으로 생성되었든 비공개로 저장됩니다. 소유한 사용자가 없는 파일은 공개로 저장되며, 팀의 업로드, 시크릿 키를 사용한 업로드, 또는 조직을 통한 업로드가 여기에 해당합니다. 업로드 시 공개 범위를 지정하면 기본값보다 우선합니다.

공개 범위 변경과 목록 조회

setFileVisibility 호출은 저장된 파일을 공개와 비공개 사이에서 옮깁니다. 이 호출에는 files:write 스코프가 필요하고, 해당 파일을 편집할 수 있는 호출자에게만 작동합니다.

목록 조회는 파일 제공과 별도로 결정됩니다. 로그인한 사용자는 자신의 파일과 공유 라이브러리를 조회하며, 다른 사용자의 비공개 파일은 null로 읽힙니다. 모든 사용자의 파일을 조회하려면 시크릿 키가 필요하며, 이 키에는 files:list.all 스코프가 있어야 합니다.

비공개 비디오

비공개 비디오 전체 구간이 보호됩니다. 썸네일, 미리보기, HLS 매니페스트가 서명되며, 토큰은 모든 렌디션과 세그먼트에 이어집니다.

자세한 내용

파일 레퍼런스는 공개 범위, 업로드 종류별 기본값, 서명된 URL, 누가 어떤 파일을 조회할 수 있는지를 다룹니다.