Xác thực
Restorm không có danh sách thả xuống “kiểu xác thực”. Nó có thứ tổng quát hơn: yêu cầu xác thực, một yêu cầu đầy đủ mà vai trò là tạo ra header cho những yêu cầu khác.
Ưu điểm: bất kỳ sơ đồ nào cũng mô hình hóa được, kể cả những sơ đồ mà không danh sách thả xuống nào dự trù — một trao đổi hai bước, một token có chữ ký, một API tự viết. Nhược điểm: bạn phải viết nó một lần.
Tạo một tuyến xác thực
Section titled “Tạo một tuyến xác thực”Nhấp chuột phải lên một thư mục biến ▸ Thêm ▸ Yêu cầu xác thực HTTP.
Trước hết hãy cấu hình lời gọi như một yêu cầu HTTP bình thường: phương thức, URL, header, thân. Sau đó mở tab Cấu hình của nó, nơi chứa ba thiết lập riêng của phần xác thực.

Header sinh ra
Section titled “Header sinh ra”Danh sách các header mà tuyến này sẽ chèn vào mọi yêu cầu tham chiếu tới nó. Mỗi giá trị là một biểu thức được ước lượng trên thân phản hồi của yêu cầu xác thực.
| Header | Giá trị |
|---|---|
Authorization | {{token_type}} {{access_token}} |
Thời hạn (giây)
Section titled “Thời hạn (giây)”Một biểu thức, cũng được ước lượng trên thân phản hồi, cho ra thời gian hiệu lực
tính bằng giây — thường là {{expires_in}}. Nếu để trống, token sẽ không bao giờ
tự hết hạn.
Mã lỗi xác thực
Section titled “Mã lỗi xác thực”Các mã trạng thái HTTP mà khi một yêu cầu dùng tuyến này nhận được, sẽ kích hoạt
việc gia hạn token rồi tự động thử lại. Mặc định: 401 và 403.
Hai thuật ngữ, một sự vật
Section titled “Hai thuật ngữ, một sự vật”Một yêu cầu xác thực là phần tử bạn tạo ra trong cây. Một tuyến xác thực là chính phần tử đó nhìn từ một yêu cầu khác, trong bộ chọn dùng để gắn nó. Hai thuật ngữ này chỉ cùng một thực thể, ở hai nơi trong giao diện.
Gắn một tuyến vào một yêu cầu
Section titled “Gắn một tuyến vào một yêu cầu”Trên tab của yêu cầu, trong smartbar, một bộ chọn Tuyến xác thực liệt kê các tuyến của thư mục biến. Nhãn mặc định là Không xác thực.
Sau khi được gắn, các header sinh ra sẽ được chèn vào mỗi lần gửi, token được
lưu đệm cho tới khi hết hạn, và một mã 401 sẽ gây ra một lần gia hạn trong
suốt.
Những công thức thường gặp
Section titled “Những công thức thường gặp”Bearer / OAuth 2 client credentials
Section titled “Bearer / OAuth 2 client credentials”Yêu cầu: POST https://auth.exemple.test/oauth/token, thân
x-www-form-urlencoded với grant_type=client_credentials,
client_id={{clientId}}, client_secret={{clientSecret}}
(trong đó secret là một giá trị kiểu Bí mật).
Header sinh ra: Authorization = {{token_type}} {{access_token}}.
Thời hạn: {{expires_in}}.
Không cần yêu cầu nào nếu bạn đã có sẵn thông tin đăng nhập: chỉ cần đặt header lên yêu cầu (hoặc lên thư mục):
Authorization = Basic {{base64Encode (append (append user ":") password)}}
Khóa API
Section titled “Khóa API”Một header hoặc một tham số truy vấn là đủ:
X-API-Key = {{apiKey}}, với khóa là một biến kiểu Bí mật.
Token lấy được qua hai lời gọi
Section titled “Token lấy được qua hai lời gọi”Hãy tạo một kịch bản: lời gọi thứ nhất,
trích xuất mã trung gian, lời gọi thứ hai, rồi dùng Đặt biến để đưa token vào
các biến của lần chạy. Những yêu cầu tiếp theo trong kịch bản đọc token đó bằng
{{jeton}}.
Việc nhập dữ liệu làm gì
Section titled “Việc nhập dữ liệu làm gì”Khi nhập một đặc tả, các sơ đồ bảo mật được khai báo sẽ được chuyển thành các header hoặc tham số đấu nối sẵn, kèm một biến môi trường được tạo giúp bạn:
| Sơ đồ trong đặc tả | Những gì Restorm đặt ra |
|---|---|
apiKey (header hoặc truy vấn) | Một cặp đặt tên theo sơ đồ, giá trị {{<schema>}} |
http / basic | Authorization: Basic {{<schema>_credentials}} |
http / bearer, oauth2, openIdConnect | Authorization: Bearer {{<schema>_token}} |
Bạn chỉ còn việc điền giá trị cho biến, hoặc thay nó bằng một tuyến xác thực nếu bạn muốn có cơ chế tự động gia hạn.
Thông tin đăng nhập gốc theo giao thức
Section titled “Thông tin đăng nhập gốc theo giao thức”Một số giao thức không đi qua header HTTP. Thông tin đăng nhập của chúng là các trường của chính yêu cầu:
| Giao thức | Các trường |
|---|---|
| MQTT | username, password, định danh client |
| AMQP | username, password, vhost |
| Redis | password |
| Kafka | Cơ chế SASL (plain, scram-sha-256, scram-sha-512), định danh, mật khẩu, TLS |
| STOMP | Header login và passcode của CONNECT |
| gRPC | Metadata của lời gọi |
Mỗi mật khẩu trong số này đều chấp nhận một giá trị kiểu Bí mật.