Apidog cho phép bạn bảo vệ tài liệu API đã xuất bản bằng xác thực tùy chỉnh. Hướng dẫn này sẽ hướng dẫn bạn cấu hình một trang đăng nhập tùy chỉnh tích hợp với hệ thống xác thực hiện có của bạn bằng JWT (JSON Web Token).
Đi tới phần cài đặt hiển thị của trang tài liệu, chọn Trang đăng nhập tùy chỉnh, và điền vào hai trường sau:
JWT Secret: Được sử dụng để xác minh chữ ký của token. Giá trị này phải giống với secret mà backend của bạn sử dụng khi phát hành JWT. Bạn cần tự tạo secret này.
Login URL: Khi người dùng truy cập trang tài liệu trực tuyến, họ sẽ được chuyển hướng đến URL này. Bạn phải lưu trữ một trang đăng nhập tại địa chỉ này và triển khai xác thực cũng như tạo token trên backend của bạn.
Trang đăng nhập này không do Apidog cung cấp — bạn cần tự xây dựng và lưu trữ.
JWT (JSON Web Token) là một tiêu chuẩn mở cho xác thực người dùng. Hệ thống đăng nhập của bạn nên tuân theo quy trình dưới đây:
1.
Người dùng truy cập trang tài liệu trực tuyến được xuất bản bởi Apidog (ví dụ: https://xxxxx.apidog.io);
2.
Hệ thống tự động chuyển hướng họ đến trang đăng nhập mà bạn đã cấu hình (ví dụ: http://localhost:3000);
3.
Người dùng nhập thông tin đăng nhập của họ và gửi biểu mẫu;
4.
Backend của bạn xác minh thông tin đăng nhập của người dùng;
5.
Sau khi xác thực thành công, backend của bạn tạo một JWT được ký bằng secret đã cấu hình của bạn (ví dụ: pJRdFC3amihQdWbHvUXNZG9WzYdEGHao);
6.
Sau đó, chuyển hướng người dùng trở lại trang tài liệu (ví dụ: https://xxxxx.apidog.io) và bao gồm token dưới dạng một tham số truy vấn có tên auth_token như minh họa dưới đây.
7.
Apidog sẽ tự động xác thực token. Nếu thành c ông, người dùng có thể truy cập nội dung tài liệu.
Quy trình đăng nhập được minh họa trong sơ đồ dưới đây:
Tôi có thể sử dụng tech stack nào cho trang đăng nhập?
Không có hạn chế nào. Miễn là backend của bạn có thể xử lý các yêu cầu đăng nhập POST và trả về một URL chứa auth_token, hệ thống sẽ hoạt động. Node.js, PHP, Python, Go, v.v. đều được hỗ trợ.