เว็บไซต์ที่โฮสต์บน Bluesky
(danielmangum.com)Bluesky และ AT Protocol
-
แนะนำ Bluesky และ AT Protocol
- Bluesky มีความสามารถในการโฮสต์เว็บไซต์ผ่าน Personal Data Server (PDS)
- AT Protocol กำหนด API ที่ใช้สำหรับอัปโหลดเนื้อหาเว็บไซต์ และ PDS เป็นผู้ทำการติดตั้งใช้งาน
- Bluesky มีจุดทางเข้าสำหรับเข้าถึง PDS ผ่านโดเมน
bsky.social
-
ประเภทของเนื้อหา: เรคอร์ดและบล็อบ
- แอปพลิเคชันโซเชียลส่วนใหญ่มีเนื้อหาหลักอยู่สองประเภทคือ เรคอร์ดและบล็อบ
- เรคอร์ดคือเอนทิตีหลักที่ผู้ใช้สร้างขึ้น โดยมีโครงสร้างและเมทาดาทา
- บล็อบคือข้อมูลขนาดใหญ่ที่ไม่มีโครงสร้างเป็นหลัก เช่น ไฟล์สื่อ และจะถูกอ้างอิงผ่านเรคอร์ด
-
การอัปโหลดและจัดการบล็อบ
- ต้องอัปโหลดบล็อบไปยัง PDS ก่อนที่เรคอร์ดจะอ้างอิงถึงมันได้
- บล็อบที่อัปโหลดแล้วจะถูกเก็บไว้ในพื้นที่จัดเก็บชั่วคราว และจะยังไม่สามารถเข้าถึงได้จนกว่าจะถูกอ้างอิง
- เมื่อสร้างเรคอร์ด เซิร์ฟเวอร์จะตรวจสอบบล็อบที่ถูกอ้างอิง และหากสำเร็จก็จะเปิดให้เข้าถึงบล็อบนั้นได้แบบสาธารณะ
-
การสร้างข้อมูลและการยืนยันตัวตน
- การดำเนินการสร้างข้อมูลบน PDS ต้องใช้ access token สำหรับการยืนยันตัวตน
- สามารถใช้เมธอด XRPC
com.atproto.server.createSessionเพื่อแลกข้อมูลรับรองของผู้ใช้เป็นโทเค็นได้
-
การอ้างอิงบล็อบและการสร้างเรคอร์ด
- บล็อบสามารถถูกอ้างอิงในเรคอร์ด
app.bsky.feed.postและใส่เป็นรูปภาพได้ - มีการตรวจสอบ MIME type เพื่อยืนยันความถูกต้องของการอ้างอิงบล็อบ
- บล็อบสามารถถูกอ้างอิงในเรคอร์ด
-
ข้อพิจารณาด้านความปลอดภัย
- การให้บริการไฟล์ที่ผู้ใช้อัปโหลดจากเว็บเซิร์ฟเวอร์อาจก่อให้เกิดปัญหาด้านความปลอดภัย
- ควรเสริมความปลอดภัยให้กับเอนด์พอยต์
getBlobด้วย Content Security Policy (CSP)
-
การให้บริการรูปภาพผ่าน CDN
- image blob ของแอปพลิเคชัน Bluesky ถูกให้บริการผ่าน CDN ไม่ใช่จากอินสแตนซ์ PDS
- แอปพลิเคชันต้องรู้วิธีให้บริการรูปภาพผ่าน CDN
-
ข้อดีของโอเพนซอร์ส
- การติดตั้งใช้งาน PDS ของ Bluesky เปิดเป็นโอเพนซอร์ส ทำให้สามารถตรวจสอบได้ว่าการอ้างอิงบล็อบถูกกำหนดไว้อย่างไร
- เพื่อรองรับ lexicon ใหม่ ๆ PDS ต้องสามารถจัดการ lexicon ที่ตนไม่รู้จักได้ด้วย
-
ความสามารถในการขยายของ lexicon
- ประเภท
app.bsky.feed.postมี union สำหรับ embed ที่ใช้ได้ และเปิดไว้โดยปริยาย - สามารถเพิ่ม embed ประเภทใหม่ได้ ซึ่งทำให้เกิด “micro-extension” ที่ช่วยขยายกรณีการใช้งานเดิม
- ประเภท
ยังไม่มีความคิดเห็น