03.
— Section 3
Credentials
macOS Keychain
La vostra contrasenya no toca mai el disc.
jmapcli no guarda cap secret al disc. La vostra contrasenya (o token de portador) resideix al Keychain d’inici de sessió de macOS; el fitxer de compte — ~/.config/jmapcli/config.json, mode 0600 — només conté l’URL del servidor, el nom d’usuari i un indicador per defecte. Nou al Keychain des del terminal? Tot el flux de treball es redueix a tres ordres integrades de security.
1 · Deseu un secret — i recupereu-lo. macOS demana el valor, de manera que el secret mai s’escriu a la línia d’ordres, no apareix a la pantalla ni s’escriu a l’historial de l’intèrpret d’ordres.
# 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
- servei — el nom que jmapcli cerca: jmap-password per a una contrasenya, o jmap-token per a un token de portador (p. ex., Fastmail); establiu només el que feu servir.
- -a
- compte — la vostra adreça de correu electrònic (el mateix nom d’usuari que proporcioneu a jmapcli).
- -l
- etiqueta — el que veureu a l’aplicació Keychain Access; -U actualitza un element existent al seu lloc.
- -w
- sense cap valor — sol·licita el secret. Aquesta és la part que evita que aparegui a ~/.zsh_history i a la llista de processos.
2 · Apunteu jmapcli al vostre servidor. Registreu el compte una vegada; el secret s’obté directament de l’element del Keychain que acabeu de desar, de manera que mai apareix a la línia d’ordres.
$ 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
Res a l’historial, als registres — ni al context d’una IA
Un cop el secret és al Keychain, les ordres habituals (list, send, draft, sync) mai no transporten una contrasenya, de manera que no pot ser capturada a ~/.zsh_history, en un llistat de processos ni als registres de CI. Això és el que fa que jmapcli sigui segur per utilitzar-lo des d’eines d’IA de terminal — un agent rep un client JMAP, mai el vostre secret.
— zsh
CI · agents
3.2
Roteu o tanqueu la sessió
Heu canviat la contrasenya? Torneu a executar la línia security add-generic-password … -w — -U la sobreescriu al seu lloc. Per eliminar un compte, jmapcli logout elimina tant l’entrada de configuració com el secret del Keychain en un sol pas (--all esborra tots els comptes).
— rotate
logout
3.3
Per Mac, per disseny
El Keychain d’inici de sessió no es sincronitza mitjançant iCloud — un límit deliberat, de manera que la vostra contrasenya mai surt del Mac on la vau escriure. Repetiu el pas de security una vegada per Mac; config.json pot residir en una carpeta d’inici sincronitzada perquè no conté cap secret.
— per
machine