Cấu hình kết nối HTTPS để test Facebook app trên localhost
facebookbot
2
facebook
18
White

Dung Nguyen viết ngày 11/05/2018

Bài viết này đuợc lấy từ blog cá nhân http://bluzky.github.io/

Trong quá trình tìm hiểu về lập trình chat bot sử dụng các API của Facebook Messenger thì việt test chat bot trên localhost là một trở ngại.

Khi tạo một subscription cho app chat bot, Facebook sẽ gửi một request đến server mà chat bot đang chạy để xác nhận có đúng là chat bot của bạn không. Cũng như sau đó, tất cả những tin nhắn của nguời dùng sẽ đuợc gửi tới chat bot thông qua callback url. Và vấn đề là khi dev và test trên localhost thì làm sao để server local của bạn có thể nhận và phản hồi request của Facebook.

Một giải pháp đơn giản là sử dụng dịch vụ của https://ngrok.com để chuyển các request về máy localhost. ngrok.com cung cấp gói miễn phí test vô tư, hơn nữa ngrok hỗ trợ cả https.
Điều này rất quan trọng, bởi vì từ 2018 thì tất cả các callback url khi đăng ký ứng dụng trên Facebook Developer đều phải sử dụng kết nối TLS.

Buớc 1: Đăng ký tài khoản

  • Đăng ký tại https://ngrok.com/pricing Vì là tài khoản miễn phí nên sẽ có một số giới hạn:
  • 40 kết nối / phút
  • Mỗi lần chỉ chạy được 1 ngrok process

Bước 2: Download ngrok và cấu hình API key

  • Download tại https://ngrok.com/download
  • Giải nén file vừa Download bạn sẽ có file ngrok
  • Thêm token vào ngrok config bằng lệnh
$ ./ngrok authtoken <YOUR_AUTH_TOKEN>

Bạn có thể copy command trên từ Dashboard trong phần Connect your account

Bước 3: Khởi chạy ngrok process

Chạy lệnh

./ngrok http <PORT>

trong đó PORT là port number của server localhost mà bạn muốn test.

Ouput mẫu của ngrok

ngrok

ngrok cung cấp cho bạn 2 public URL để kết nối vào server localhost. 1 URL với giao thức http và 1 URL với https.
Ngon không nào!

Bây giờ bạn đã có thể cấu hình Facebook để test trên localhost rồi.

Lưu ý:

Khi sử dụng tài khoản Free, mỗi lần chạy ngrok thì forwarding URL sẽ khác nhau nên sẽ phải sửa lại sửa lại cấu hình app trên Facebook Developer. Đồ chùa thường là đồ chua mà. Khi sử dụng gói có phí bạn có thể cấu hình forwarding URL theo ý mình. Mình nghèo nên chịu khó thôi.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Dung Nguyen

4 bài viết.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
6 0
Bài viết gốc trên (Link) ETS là gì? Có lẽ các bạn đã nghe qua về redis hoặc memcache, hoặc là cả hai. Còn nếu bạn chưa nghe tới bao giờ thì đó l...
Dung Nguyen viết 7 tháng trước
6 0
White
4 0
1. Tìm hiểu về FSM (Link) Máy trạng thái hữu hạn là một mô hình toán học biểu diễn trạng thái của hệ, trong đó số trạng thái là hữu hạn. Từ mỗi t...
Dung Nguyen viết 7 tháng trước
4 0
White
1 0
Xem bài viết gốc trên (Link) Bài viết này sẽ hướng dẫn các bạn sử dụng ETS như là bộ nhớ cache để tăng tốc các ứng dụng web Phoenix Dành cho ...
Dung Nguyen viết 7 tháng trước
1 0
Bài viết liên quan
White
18 3
Một lỗ hổng bảo mật cực kỳ nghiêm trọng, có ảnh hưởng trực tiếp đến quyền riêng tư của khoảng 1 tỷ tài khoản Facebook và có khả năng ảnh hưởng tới ...
Hùng PV viết gần 2 năm trước
18 3
White
27 4
(Ảnh) Phân tích mã độc Facebook lây lan qua tin nhắn và hướng dẫn cách ngăn chặn mã độc Facebook tự động gửi tin nhắn cho toàn bộ bạn bè. Phân t...
Juno_okyo viết 2 năm trước
27 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
4 bài viết.
2 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!