3 poin oleh GN⁺ 2024-11-25 | Belum ada komentar. | Bagikan ke WhatsApp

Bluesky dan protokol AT

  • Pengenalan Bluesky dan protokol AT

    • Bluesky menyediakan kemampuan untuk menghosting situs web melalui Personal Data Server (PDS).
    • Protokol AT mendefinisikan API yang digunakan untuk mengunggah konten situs web, dan PDS mengimplementasikannya.
    • Bluesky menyediakan titik masuk untuk mengakses PDS melalui domain bsky.social.
  • Jenis konten: record dan blob

    • Sebagian besar aplikasi sosial memiliki dua jenis konten utama, yaitu record dan blob.
    • Record adalah entitas inti yang dibuat pengguna, dengan struktur dan metadata.
    • Blob umumnya berupa data besar yang tidak terstruktur seperti aset media, dan direferensikan melalui record.
  • Unggah dan pengelolaan blob

    • Blob harus diunggah ke PDS sebelum direferensikan oleh record.
    • Blob yang diunggah disimpan di penyimpanan sementara dan tidak dapat diakses sampai direferensikan.
    • Server memverifikasi blob yang direferensikan saat record dibuat, lalu jika berhasil, blob menjadi dapat diakses publik.
  • Pembuatan data dan autentikasi

    • Untuk melakukan operasi pembuatan data di PDS, diperlukan access token untuk autentikasi.
    • Metode XRPC com.atproto.server.createSession dapat digunakan untuk menukar kredensial pengguna menjadi token.
  • Referensi blob dan pembuatan record

    • Blob dapat direferensikan dalam record app.bsky.feed.post dan disertakan sebagai gambar.
    • Validitas referensi blob diperiksa melalui validasi tipe MIME.
  • Pertimbangan keamanan

    • Menyajikan file unggahan pengguna dari web server dapat menimbulkan masalah keamanan.
    • Keamanan untuk endpoint getBlob perlu diperkuat melalui Content Security Policy (CSP).
  • Penyajian gambar melalui CDN

    • Blob gambar di aplikasi Bluesky disajikan melalui CDN, bukan melalui instance PDS.
    • Aplikasi perlu mengetahui cara menyajikan gambar melalui CDN.
  • Keunggulan open source

    • Implementasi PDS milik Bluesky tersedia sebagai open source, sehingga kita dapat memeriksa bagaimana referensi blob didefinisikan.
    • Untuk mendukung lexicon baru, PDS harus dapat menangani lexicon yang belum dikenalnya.
  • Ekstensibilitas lexicon

    • Tipe app.bsky.feed.post mencakup union untuk embed yang valid, dan secara default bersifat terbuka.
    • Tipe embed baru dapat ditambahkan, sehingga memungkinkan "ekstensi mikro" yang memperluas use case yang sudah ada.

Belum ada komentar.

Belum ada komentar.