AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop
BetaBạn đang đọc tài liệu kênh beta (3.0.0-beta.41). Tính năng có thể thay đổi trước bản stable tiếp theo.Chuyển sang stable →

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-recoveryMở 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 | differs

Kế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.
2Cờ 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ự.
3Ref không có giá trị lưu trữ.
5Lỗi backend hoặc index.

Lệnh liên quan