03.
— Section 3
Credentials
macOS Keychain
Ваша лозинка никада не дира диск.
jmapcli не чува никакву тајну на диску. Ваша лозинка (или bearer токен) живи у macOS login Keychain-у; датотека налога — ~/.config/jmapcli/config.json, режим 0600 — садржи само URL сервера, корисничко име и подразумевану заставицу. Нисте упознати са Keychain-ом из терминала? Цео процес своди се на три уграђене security команде.
1 · Сачувајте тајну — и прочитајте је назад. macOS тражи вредност интерактивно, тако да тајна никада није укуцана у командну линију, приказана на екрану, нити уписана у историју шела.
# 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 — назив који jmapcli тражи: jmap-password за лозинку, или jmap-token за bearer токен (нпр. Fastmail); подесите само онај који користите.
- -a
- account — ваша е-маил адреса (исто корисничко име које дајете jmapcli-ју).
- -l
- label — оно што ћете видети у апликацији Keychain Access; -U ажурира постојећу ставку на месту.
- -w
- без вредности — тражи тајну интерактивно. То је оно што је чува ван ~/.zsh_history и листе процеса.
2 · Усмерите jmapcli на ваш сервер. Региструјте налог једном; тајна се преузима директно из Keychain ставке коју сте управо сачували, тако да никада не фигурише у командној линији.
$ 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
Ништа у историји, логовима — нити у контексту вештачке интелигенције
Када је тајна у Keychain-у, свакодневне команде (list, send, draft, sync) никада не носе лозинку, тако да не може бити забележена у ~/.zsh_history, листи процеса или CI логовима. То је оно што чини jmapcli безбедним за покретање из AI алата у терминалу — агент добија JMAP клијент, никада вашу тајну.
— zsh
CI · agents
3.2
Ротирајте или се одјавите
Променили сте лозинку? Поново покрените линију security add-generic-password … -w — -U је замењује на месту. Да бисте уклонили налог, jmapcli logout брише и унос у конфигурацији и Keychain тајну у једном кораку (--all брише све налоге).
— rotate
logout
3.3
По дизајну везано за Mac
Login Keychain се не синхронизује преко iCloud-а — намерна граница, тако да ваша лозинка никада не напушта Mac на којем сте је унели. Поновите корак са security једном по Mac-у; config.json може ићи у синхронизовану кућну фасциклу јер не носи никакву тајну.
— per
machine