03.
— Section 3
Credentials
macOS Keychain
Ο κωδικός σας δεν αγγίζει ποτέ τον δίσκο.
Το jmapcli δεν αποθηκεύει κανένα μυστικό στον δίσκο. Ο κωδικός σας (ή το bearer token) βρίσκεται στο Keychain σύνδεσης του macOS· το αρχείο λογαριασμού — ~/.config/jmapcli/config.json, δικαιώματα 0600 — περιέχει μόνο τη διεύθυνση URL του διακομιστή, το όνομα χρήστη σας και μια προεπιλεγμένη επιλογή. Νέος στο Keychain μέσω τερματικού; Ολόκληρη η διαδικασία είναι τρεις ενσωματωμένες εντολές security.
1 · Αποθηκεύστε ένα μυστικό — και διαβάστε το ξανά. Το macOS ζητά την τιμή, οπότε το μυστικό δεν πληκτρολογείται ποτέ στη γραμμή εντολών, δεν εμφανίζεται στην οθόνη και δεν καταγράφεται στο ιστορικό του shell σας.
# 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 token (π.χ. Fastmail)· ορίστε μόνο αυτό που χρησιμοποιείτε.
- -a
- account — η διεύθυνση email σας (το ίδιο όνομα χρήστη που δίνετε στο 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
Τίποτα στο ιστορικό, στα αρχεία καταγραφής — ή στο πλαίσιο ενός AI
Μόλις το μυστικό βρίσκεται στο Keychain, οι καθημερινές εντολές (list, send, draft, sync) δεν μεταφέρουν ποτέ κωδικό, οπότε δεν μπορεί να καταγραφεί στο ~/.zsh_history, σε λίστα διεργασιών ή σε αρχεία καταγραφής CI. Αυτό κάνει το jmapcli ασφαλές για χρήση από εργαλεία τερματικού με AI — ένας πράκτορας παραλαμβάνει έναν JMAP client, ποτέ το μυστικό σας.
— zsh
CI · agents
3.2
Εναλλαγή κωδικού ή αποσύνδεση
Αλλάξατε τον κωδικό σας; Εκτελέστε ξανά τη γραμμή security add-generic-password … -w — η επιλογή -U τον αντικαθιστά επί τόπου. Για να αφαιρέσετε έναν λογαριασμό, το jmapcli logout διαγράφει τόσο την καταχώριση ρυθμίσεων όσο και το μυστικό Keychain σε ένα βήμα (--all διαγράφει κάθε λογαριασμό).
— rotate
logout
3.3
Ανά Mac εξ ορισμού
Το Keychain σύνδεσης δεν συγχρονίζεται μέσω iCloud — ένα σκόπιμο όριο, ώστε ο κωδικός σας να μην εγκαταλείπει ποτέ το Mac όπου τον πληκτρολογήσατε. Επαναλάβετε το βήμα security μία φορά ανά Mac· το config.json μπορεί να συνοδεύει έναν συγχρονισμένο αρχικό φάκελο επειδή δεν περιέχει μυστικό.
— per
machine