3 điểm bởi GN⁺ 2024-11-25 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Bluesky và giao thức AT

  • Giới thiệu về Bluesky và giao thức AT

    • Bluesky cung cấp khả năng lưu trữ trang web thông qua máy chủ dữ liệu cá nhân (PDS).
    • Giao thức AT định nghĩa API dùng để tải nội dung trang web lên, và PDS triển khai API đó.
    • Bluesky cung cấp một điểm truy cập để vào PDS thông qua tên miền bsky.social.
  • Các loại nội dung: record và blob

    • Hầu hết các ứng dụng mạng xã hội có hai loại nội dung chính là record và blob.
    • Record là thực thể cốt lõi do người dùng tạo ra, có cấu trúc và siêu dữ liệu.
    • Blob chủ yếu là dữ liệu lớn, phi cấu trúc như tài sản media, và được tham chiếu thông qua record.
  • Tải lên và quản lý blob

    • Blob phải được tải lên PDS trước khi được record tham chiếu.
    • Blob đã tải lên được lưu trong kho tạm thời và không thể truy cập cho đến khi được tham chiếu.
    • Khi tạo record, máy chủ sẽ kiểm tra các blob được tham chiếu và nếu thành công sẽ cho phép truy cập công khai vào blob.
  • Tạo dữ liệu và xác thực

    • Để thực hiện thao tác tạo dữ liệu trên PDS, cần có access token để xác thực.
    • Có thể dùng phương thức XRPC com.atproto.server.createSession để đổi thông tin xác thực của người dùng lấy token.
  • Tham chiếu blob và tạo record

    • Blob có thể được tham chiếu trong record app.bsky.feed.post và được đưa vào dưới dạng hình ảnh.
    • Tính hợp lệ của tham chiếu blob được kiểm tra thông qua xác thực MIME type.
  • Các cân nhắc về bảo mật

    • Việc phục vụ các tệp do người dùng tải lên từ máy chủ web có thể gây ra vấn đề bảo mật.
    • Cần tăng cường bảo mật cho endpoint getBlob thông qua chính sách bảo mật nội dung (CSP).
  • Phân phối hình ảnh qua CDN

    • Các blob hình ảnh của ứng dụng Bluesky được phân phối qua CDN thay vì trực tiếp từ instance PDS.
    • Ứng dụng cần biết cách phân phối hình ảnh thông qua CDN.
  • Ưu điểm của mã nguồn mở

    • Phần triển khai PDS của Bluesky được cung cấp dưới dạng mã nguồn mở, nên có thể kiểm tra cách tham chiếu blob được định nghĩa.
    • Để hỗ trợ các lexicon mới, PDS phải có khả năng xử lý cả những lexicon mà nó chưa biết.
  • Khả năng mở rộng của lexicon

    • Kiểu app.bsky.feed.post bao gồm một union cho các embed hợp lệ và mặc định là mở.
    • Có thể thêm các kiểu embed mới, cho phép tạo ra các "mở rộng vi mô" để mở rộng các trường hợp sử dụng hiện có.

Chưa có bình luận nào.

Chưa có bình luận nào.