03.
— Section 3
Credentials
macOS Keychain
Kata laluan anda tidak pernah menyentuh cakera.
jmapcli tidak menyimpan sebarang rahsia pada cakera. Kata laluan anda (atau token pembawa) disimpan dalam Keychain log masuk macOS; fail akaun — ~/.config/jmapcli/config.json, mod 0600 — hanya menyimpan URL pelayan, nama pengguna dan bendera lalai anda. Baru menggunakan Keychain dari terminal? Keseluruhan aliran kerja hanya memerlukan tiga arahan security terbina dalam.
1 · Simpan rahsia — dan baca semula. macOS akan meminta nilainya, jadi rahsia itu tidak pernah ditaip pada baris arahan, dipaparkan pada skrin, atau ditulis ke dalam sejarah shell anda.
# store it — you’re prompted for the secret, nothing echoes
$ security add-generic-password -U -s jmap-password -a you@example.com -l "Boogie JMAP password" -w
# read it back at any time
$ security find-generic-password -s jmap-password -a you@example.com -w
# remove it
$ security delete-generic-password -s jmap-password -a you@example.com
- -s
- service — nama yang dicari oleh jmapcli: jmap-password untuk kata laluan, atau jmap-token untuk token pembawa (cth. Fastmail); tetapkan hanya yang anda gunakan.
- -a
- account — alamat e-mel anda (nama pengguna yang sama yang anda berikan kepada jmapcli).
- -l
- label — apa yang akan anda lihat dalam apl Keychain Access; -U mengemaskini item sedia ada pada tempatnya.
- -w
- tanpa nilai — minta rahsia. Inilah yang memastikan rahsia itu tidak masuk ke dalam ~/.zsh_history dan senarai proses.
2 · Arahkan jmapcli ke pelayan anda. Daftarkan akaun sekali sahaja; rahsia diambil terus daripada item Keychain yang baru anda simpan, supaya ia tidak pernah muncul pada baris arahan.
$ jmapcli login --url https://mail.example.com --username you@example.com \
--password "$(security find-generic-password -s jmap-password -a you@example.com -w)"
# token auth: swap --password for --token (and store under jmap-token above)
$ jmapcli list # from here on, every command reads the Keychain for you
3.1
Tiada apa-apa dalam sejarah, log — atau konteks AI
Setelah rahsia berada dalam Keychain, arahan harian (list, send, draft, sync) tidak pernah membawa kata laluan, jadi ia tidak dapat ditangkap dalam ~/.zsh_history, penyenaraian proses atau log CI. Itulah yang menjadikan jmapcli selamat untuk dijalankan daripada alat terminal-AI — ejen diberikan klien JMAP, bukan rahsia anda.
— zsh
CI · agents
3.2
Tukar atau log keluar
Telah menukar kata laluan anda? Jalankan semula baris security add-generic-password … -w — -U akan menimpanya pada tempatnya. Untuk membuang akaun, jmapcli logout memadam kedua-dua entri konfigurasi dan rahsia Keychain dalam satu langkah (--all mengosongkan setiap akaun).
— rotate
logout
3.3
Setiap Mac secara reka bentuk
Keychain log masuk tidak disegerakkan melalui iCloud — sempadan yang disengajakan, supaya kata laluan anda tidak pernah meninggalkan Mac yang anda taip padanya. Ulangi langkah security sekali bagi setiap Mac; config.json boleh disimpan dalam folder rumah yang disegerakkan kerana ia tidak membawa sebarang rahsia.
— per
machine