3 Punkte von GN⁺ 2024-11-25 | Noch keine Kommentare. | Auf WhatsApp teilen

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.social einen 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.createSession kö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.
  • 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.post enthä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.

Noch keine Kommentare.

Noch keine Kommentare.