secrets
ak secrets compare
Kiểm tra một giá trị ứng viên có khớp với secret đã lưu hay không mà không in giá trị nào.
Dùng ak secrets compare để đối chiếu một mục trong .env hoặc một token vừa
dán với vault mà không cần --reveal. Câu trả lời là match hoặc differs;
không giá trị nào được in, ghi log hay đưa vào đầu ra --json.
Cách dùng
ak secrets compare <ref> (--value=- | --value-file <path>) [--backend <backend>]Phải có đúng một ref. Giá trị ứng viên được đọc theo cách
ak secrets set đọc giá trị:
| Cờ | Mô tả |
|---|---|
--value - | Đọc giá trị ứng viên từ stdin. Giá trị viết trực tiếp (--value=abc) bị từ chối. |
--value-file <path> | Đọc giá trị ứng viên từ một file. |
--backend <backend> | Backend đang giữ giá trị đã lưu: keychain (mặc định), file hoặc memory. |
--unlock-with-recovery | Mở vault của backend file bằng khoá riêng khôi phục và đặt passphrase mới. |
Khi không có cờ nào, một prompt tương tác không hiện ký tự sẽ hỏi giá trị ứng viên. Hai giá trị được so sánh từng byte, nên ký tự xuống dòng ở cuối cũng được tính. Hai digest SHA-256 được so sánh trong thời gian hằng số.
Ref không tồn tại được báo trước khi đọc bất kỳ giá trị nào. Compare từ chối,
với mã thoát 2, khi giá trị ứng viên hoặc giá trị đã lưu ngắn hơn 16 ký tự,
không tính tiền tố công khai được nhận diện (như sk_live_) hay một ký tự xuống
dòng ở cuối, và tính theo byte với giá trị không phải UTF-8. Đây là quy tắc mà
value hint trong list, get và search dùng, và giá trị ứng viên quá ngắn bị
từ chối trước khi đọc backend, nên không bao giờ kích hoạt prompt keychain hay
passphrase.
Đọc giá trị đã lưu có thể hiện prompt xin quyền keychain hoặc passphrase của
vault. Khi audit ledger đã tồn tại, mỗi lần gọi thêm một dòng với ref và kết quả
(match, differs hoặc refused), không bao giờ kèm giá trị hay hash của nó;
compare không bao giờ tạo ledger. Ledger không nhận được dòng chỉ là cảnh báo
trên stderr, và câu trả lời vẫn có hiệu lực.
Đầu ra
Stdout cho người dùng in <ref>: match hoặc <ref>: differs.
JSON thành công dùng:
schema_version: 1
kind: secrets.compare
data.ref
data.match: true | false
data.result: match | differsKết quả và mã thoát
| Mã thoát | Ý nghĩa |
|---|---|
0 | Đã so sánh; câu trả lời (match hoặc differs) nằm trong đầu ra. |
2 | Cờ hoặc argument không hợp lệ, --value-file không đọc được, hoặc giá trị ứng viên hay giá trị đã lưu ngắn hơn 16 ký tự. |
3 | Ref không có giá trị lưu trữ. |
5 | Lỗi backend hoặc index. |