Fichiers privés
Chaque fichier dans Fóir est public ou privé, et ce réglage appartient au fichier. Un fichier public est servi depuis une URL simple, et un fichier privé par un lien signé qui expire.
Comment chaque type est servi
Un fichier public a une URL directe que le CDN peut mettre en cache et que toute personne détenant le lien peut récupérer. L'URL d'un fichier privé porte un jeton signé, et le CDN refuse une requête sans jeton valide. Un jeton ouvre un seul fichier et expire, au bout d'une heure par défaut. Conservez l'id du fichier et relisez son URL quand vous en avez besoin, car une ancienne URL cesse de fonctionner.
Un fichier a son propre propriétaire et sa propre visibilité
Les deux sont définis sur le fichier, et le référencer depuis un enregistrement ne change ni l'un ni l'autre. Un fichier public reste accessible par son URL quelle que soit la visibilité de l'enregistrement qui pointe vers lui.
Quand un enregistrement qui référence un fichier privé est lu, Fóir signe l'URL du fichier seulement si l'appelant peut accéder au fichier lui-même. Sinon l'URL part non signée et le CDN la refuse.
Valeurs par défaut
La valeur par défaut suit l'appartenance. Un fichier appartenant à l'un de vos utilisateurs est stocké en privé, qu'il l'ait téléversé ou qu'une opération qu'il a déclenchée l'ait créé. Un fichier qui n'appartient à aucun utilisateur est stocké en public, ce qui couvre les téléversements de votre équipe, avec une clé secrète ou par une organisation. Nommer une visibilité au téléversement remplace la valeur par défaut.
Changer la visibilité et lister
setFileVisibility fait passer un fichier stocké de public à privé et inversement. Il requiert la portée files:write et ne fonctionne que pour un appelant autorisé à modifier ce fichier.
Le listing est décidé séparément du service. Un utilisateur connecté liste ses propres fichiers et la bibliothèque partagée, et le fichier privé d'un autre utilisateur revient à null. Lister les fichiers de tous les utilisateurs demande une clé secrète avec files:list.all comme portée.
Vidéo privée
Une vidéo privée est couverte de bout en bout. Sa miniature, son aperçu et son manifeste HLS sont signés, et le jeton est reporté sur chaque rendition et chaque segment.
Lire le détail
La référence des fichiers couvre la visibilité, la valeur par défaut pour chaque type de téléversement, les URL signées et qui peut lister quels fichiers.