Chuyển đến nội dung chính
Endpoint generateJWT tạo một URL liên kết mạng xã hội cho một User Profile duy nhất. Xem tích hợp API Business Plan và Launch Plan để biết thêm chi tiết.

Chuyển đổi Profile

Để chuyển đổi giữa các phiên profile khác nhau (ví dụ khi thử nghiệm với nhiều profile), bạn cần đăng xuất profile hiện tại trước. Xem Tự động đăng xuất phiên Profile để biết hướng dẫn về cách xử lý chuyển đổi profile đúng cách.

Private Key và Profile Key

Nơi lấy Private Key

Tệp Private Key (private.key) và một tệp Postman JSON mẫu được bao gồm trong Integration Package mà bạn nhận được trong quá trình onboarding. Integration Package cũng có thể được truy xuất trong bảng điều khiển nhà phát triển Ayrshare tại trang API -> Integration Package.

Sử dụng Private Key

Chúng tôi khuyến nghị đọc Private Key private.key từ tệp và gửi dưới dạng chuỗi trong trường privateKey, cho phép bạn bảo toàn tất cả các ký tự bao gồm ký tự xuống dòng. Private Key phải chính xác, tức là bảo toàn tất cả các ký tự bao gồm ký tự xuống dòng. Nếu bạn dán key vào code, bạn có thể cần thay thế thủ công ký tự xuống dòng bằng ký tự \n hoặc URL encode chuỗi đó. Dán key trực tiếp vào code thường gây ra sự cố.

Tạo một JSON Web Token

Video 1 phút giải thích cách tạo JSON Web Token (JWT):
URL JWT có hiệu lực trong 5 phút. Sau 5 phút bạn phải tạo URL JWT mới. Xem Max Pack expiresIn để biết các tùy chọn bổ sung.

Mở URL JWT

Mở URL JWT trong một tab trình duyệt mới, cửa sổ trình duyệt mới, hoặc View Controller trên iOS. Bạn có thể kiểm soát việc đóng hoặc chuyển hướng của cửa sổ hoặc tab mới.
Các mạng xã hội không cho phép mở URL trong iFrame hoặc che giấu tên miền đối tác đã được phê duyệt profile.ayrshare.com.

Xác minh URL JWT

Endpoint generateJWT mặc định không xác thực URL JWT được trả về. Ví dụ, nếu một Private Key bị hỏng được truyền vào generateJWT, một URL vẫn sẽ được trả về nhưng URL sẽ dẫn đến lỗi 401. Bạn có thể xác minh URL JWT được trả về bằng cách bao gồm verify: true trong các tham số body của generateJWT. Nếu URL JWT không thể được xác thực, một lỗi sẽ được trả về. Ví dụ, nếu Private Key bị loại bỏ một ký tự, kết quả sau sẽ được trả về:
JWT Error
Chúng tôi khuyến nghị chỉ sử dụng verify: true trong môi trường không phải production vì việc xác thực mất thêm thời gian xử lý.

Thử nghiệm trong Postman

Khuyến nghị thử nghiệm việc tạo URL JWT trong Postman trước. Được bao gồm trong Integration Package, tìm thấy trong trang API Key của Primary Profile trên bảng điều khiển, là một tệp JSON cấu hình Postman mẫu bao gồm mọi thứ bạn cần để xác minh việc tạo URL JWT. Chỉ cần import tệp cấu hình vào Postman, điền Profile Key của bạn (tìm thấy trong bảng điều khiển nhà phát triển Ayrshare bằng cách chuyển sang profile bạn muốn thử nghiệm) vào trường body profileKey, và nhấn nút Send màu xanh. Tất cả các trường bắt buộc khác đã được điền sẵn. Bạn cũng có thể tạo code từ Postman, hoặc đọc tệp key từ một thư mục hoặc cơ sở dữ liệu.

Phương thức liên kết Instagram

Tài khoản Instagram có thể được liên kết theo hai cách: trực tiếp với Instagram Login, hoặc thông qua Facebook Page đã kết nối. Luồng nào bắt đầu khi người dùng nhấp vào nút Instagram trên trang liên kết mạng xã hội thường được kiểm soát bởi cài đặt Instagram Login toàn tài khoản trong bảng điều khiển. Tham số body instagramLinkMethod của endpoint generateJWT cho phép bạn ghi đè cài đặt đó cho một URL liên kết duy nhất:
Giá trịLuồng liên kết Instagram
instagramInstagram Login trực tiếp. Không yêu cầu Facebook Page.
facebookLiên kết thông qua Facebook Page đã kết nối.
Ví dụ, nếu mặc định của tài khoản là liên kết Facebook Page, JSON sau đây sẽ buộc Instagram Login trực tiếp chỉ cho phiên liên kết này:
Instagram Link Method
URL JWT được tạo sẽ bao gồm ghi đè này, và việc nhấp vào nút Instagram trên trang liên kết sẽ khởi động luồng được yêu cầu trong suốt phiên đó — bao gồm cả trong quá trình chuyển hướng ủy quyền Instagram/Facebook. Một vài điều cần biết:
  • Ghi đè chỉ áp dụng cho trang liên kết được mở từ URL được trả về. Nó không thay đổi cài đặt Instagram Login toàn tài khoản của bạn hoặc ảnh hưởng đến các phiên liên kết khác.
  • Nếu instagramLinkMethod bị bỏ qua, trang liên kết sử dụng cài đặt toàn tài khoản của bạn, giống như trước đây.
  • Nếu một giá trị không hợp lệ được gửi, lỗi 400 sẽ được trả về liệt kê các giá trị hợp lệ (instagram, facebook).
  • Xem lại sự khác biệt về tính năng giữa hai luồng trước khi chọn ghi đè — một số tính năng Instagram, như tìm kiếm hashtag và cộng tác, chỉ khả dụng với xác thực Facebook Page.

JWT Expires In

Nếu bạn muốn thời gian hết hạn JWT lâu hơn 5 phút mặc định, hãy bao gồm trường expiresIn. Ví dụ, gửi JSON sau để đặt URL JWT có hiệu lực trong 30 phút:
JWT Expires In
Điều này cho phép bạn gửi liên kết qua email đến người dùng của bạn thay vì họ phải vào ứng dụng hoặc nền tảng của bạn. Một trường hợp sử dụng phổ biến là khi người dùng của bạn cần kết nối lại một social account, bạn có thể gửi email cho họ liên kết JWT để liên kết lại social account trực tiếp thay vì phải điều hướng đến nền tảng của bạn.
Hãy xem xét với đội bảo mật của bạn thời gian doanh nghiệp của bạn muốn giữ JWT sống bao lâu. Thời gian hết hạn dài hơn tạo thêm rủi ro về việc bên trái phép truy cập liên kết.

Tích hợp

Bubble.io JWT

Nếu bạn là người dùng Bubble, vui lòng xem Generate JWT Token trong phần Bubble.io để có hướng dẫn:

Bubble Generate JWT

Mobile JWT

Các ví dụ mã mobile Swift, Flutter và React Native sau đây cho biết cách khởi chạy trang liên kết mạng xã hội trên thiết bị iOS. Thay thế biến String jwtURL bằng giá trị trả về từ endpoint /generateJWT.

Swift (iOS)

Trong Swift, sử dụng UIViewControllerSFSafariViewControllerDelegate. Chúng tôi không khuyến nghị sử dụng WebView vì một số mạng xã hội như Facebook và Google chặn xác thực.

Flutter (Dart)

Trong Flutter (Dart), không có tương đương trực tiếp với UIViewController hoặc SFSafariViewController. Tuy nhiên, bạn có thể đạt được chức năng tương tự bằng cách sử dụng package url_launcher để mở các URL web.

React Native

React Native cũng không có tương đương trực tiếp với SFSafariViewController, nhưng bạn có thể đạt được kết quả tương tự với API WebBrowser được cung cấp bởi expo-web-browser, mở một URL trong cửa sổ trình duyệt modal chia sẻ cookie với trình duyệt hệ thống. Nếu không, bạn có thể sử dụng hàm Linking tích hợp sẵn của React Native để mở Safari: await Linking.canOpenURL(jwtURL);

Ví dụ mã Mobile

Connect Accounts Email

Kết hợp với tùy chọn thời gian hết hạn dài hơn, bạn cũng có thể tự động để Ayrshare gửi email cho người dùng của bạn một liên kết đến trang liên kết mạng xã hội.

Connect Accounts JSON

Ví dụ, JSON sau sẽ gửi email đến john@user.com với tên công ty ACME, email liên hệ support@mycompany.com, và các liên kết đến điều khoản và chính sách bảo mật:
Example Contact Email Request
Phản hồi sẽ bao gồm nội dung sau nếu email và thời gian hết hạn đã được đặt:
Example Contact Email Response

Ví dụ Email JWT Connect Accounts

Đây là một ví dụ về email với liên kết Connect Account mở trang liên kết mạng xã hội: JWT Email Email sẽ đến từ địa chỉ: Social Connect Hub <connect@socialconnecthub.com>