Eine auf Bluesky gehostete Website
(danielmangum.com)Bluesky und das AT-Protokoll
-
Einführung in Bluesky und das AT-Protokoll
- Bluesky bietet die Möglichkeit, Websites über einen Personal Data Server (PDS) zu hosten.
- Das AT-Protokoll definiert die API, die zum Hochladen von Website-Inhalten verwendet wird, und der PDS implementiert diese.
- Bluesky stellt über die Domain
bsky.socialeinen Einstiegspunkt für den Zugriff auf den PDS bereit.
-
Inhaltstypen: Records und Blobs
- Die meisten Social-Apps haben zwei zentrale Inhaltstypen: Records und Blobs.
- Records sind die Kerneinheiten, die von Nutzern erstellt werden, und besitzen Struktur sowie Metadaten.
- Blobs sind vor allem große unstrukturierte Daten wie Media-Assets und werden über Records referenziert.
-
Blob-Upload und -Verwaltung
- Blobs müssen in den PDS hochgeladen werden, bevor ein Record sie referenzieren kann.
- Hochgeladene Blobs werden in einem temporären Speicher abgelegt und sind vor der Referenzierung nicht zugänglich.
- Beim Erstellen eines Records prüft der Server die referenzierten Blobs und macht sie bei Erfolg öffentlich zugänglich.
-
Datenerzeugung und Authentifizierung
- Um Vorgänge zur Datenerzeugung auf dem PDS auszuführen, ist zur Authentifizierung ein Access Token erforderlich.
- Mit der XRPC-Methode
com.atproto.server.createSessionkönnen Benutzeranmeldedaten gegen ein Token eingetauscht werden.
-
Blob-Referenzierung und Record-Erstellung
- Blobs können in einem
app.bsky.feed.post-Record referenziert und als Bilder eingebunden werden. - Die Gültigkeit von Blob-Referenzen wird über die Validierung des MIME-Typs geprüft.
- Blobs können in einem
-
Sicherheitsaspekte
- Das Ausliefern von von Nutzern hochgeladenen Dateien über einen Webserver kann Sicherheitsprobleme verursachen.
- Über eine Content Security Policy (CSP) sollte die Sicherheit des
getBlob-Endpunkts verstärkt werden.
-
Bildauslieferung über ein CDN
- Image-Blobs in Bluesky-Anwendungen werden über ein CDN ausgeliefert, nicht über eine PDS-Instanz.
- Anwendungen müssen wissen, wie Bilder über das CDN bereitgestellt werden.
-
Vorteile von Open Source
- Die PDS-Implementierung von Bluesky ist als Open Source verfügbar, sodass sich nachvollziehen lässt, wie Blob-Referenzen definiert sind.
- Um neue Lexika zu unterstützen, muss ein PDS auch Lexika verarbeiten können, die ihm nicht bekannt sind.
-
Erweiterbarkeit von Lexika
- Der Typ
app.bsky.feed.postenthält eine Union für gültige Embeds und ist standardmäßig offen. - Es können neue Embed-Typen hinzugefügt werden, was „Mikro-Erweiterungen“ ermöglicht, die bestehende Anwendungsfälle ausbauen.
- Der Typ
Noch keine Kommentare.