03.
— Section 3
Credentials
macOS Keychain
Ang iyong password ay hindi kailanman naaabot ang disk.
Hindi nagtatago ang jmapcli ng anumang lihim sa disk. Ang iyong password (o bearer token) ay naninirahan sa macOS login Keychain; ang account file — ~/.config/jmapcli/config.json, mode 0600 — ay naglalaman lamang ng server URL, ang iyong username at isang default na flag. Bago sa Keychain mula sa terminal? Ang buong workflow ay tatlong built-in na security na command.
1 · Mag-imbak ng lihim — at basahin ito pabalik. Hihilingin ng macOS ang halaga, kaya ang lihim ay hindi kailanman nita-type sa command line, ipinapakita sa screen, o isinusulat sa iyong shell history.
# 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 — ang pangalang hinahanap ng jmapcli: jmap-password para sa password, o jmap-token para sa bearer token (hal. Fastmail); itakda lamang ang isang ginagamit mo.
- -a
- account — ang iyong email address (ang parehong username na ibinibigay mo sa jmapcli).
- -l
- label — ang makikita mo sa Keychain Access app; ang -U ay nag-a-update ng umiiral na item nang in place.
- -w
- walang value — magtatanong para sa lihim. Ito ang bahagi na nagpapanatili nitong wala sa ~/.zsh_history at sa listahan ng proseso.
2 · Ituro ang jmapcli sa iyong server. Irehistro ang account nang isang beses; ang lihim ay direktang kinukuha mula sa Keychain item na kakaimbak mo lang, kaya hindi ito kailanman lumalabas sa command line.
$ 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
Wala sa iyong history, logs — o sa konteksto ng AI
Kapag nasa Keychain na ang lihim, ang mga pang-araw-araw na command (list, send, draft, sync) ay hindi na nagdadala ng password, kaya hindi ito maaaring makuha sa ~/.zsh_history, isang listahan ng proseso o mga CI log. Iyon ang dahilan kung bakit ligtas na patakbuhin ang jmapcli mula sa mga terminal-AI tool — ang isang ahente ay binibigyan ng JMAP client, hindi ang iyong lihim.
— zsh
CI · agents
3.2
Mag-rotate o mag-sign out
Binago mo ba ang iyong password? Patakbuhin muli ang linyang security add-generic-password … -w — ang -U ay nagpapalit nito nang in place. Para alisin ang isang account, ang jmapcli logout ay nagtatanggal ng parehong config entry at ng Keychain secret sa isang hakbang (--all ay nagtatanggal ng bawat account).
— rotate
logout
3.3
Per-Mac ayon sa disenyo
Ang login Keychain ay hindi naka-sync sa pamamagitan ng iCloud — isang sadyang hangganan, upang ang iyong password ay hindi kailanman umalis sa Mac na pinagta-type mo nito. Ulitin ang hakbang na security nang isang beses bawat Mac; ang config.json ay maaaring sumakay sa isang synced na home folder dahil hindi ito nagdadala ng lihim.
— per
machine