03.
— Section 3
Credentials
macOS Keychain
آپ کا پاس ورڈ کبھی ڈسک کو نہیں چھوتا۔
jmapcli کوئی راز ڈسک پر محفوظ نہیں کرتا۔ آپ کا پاس ورڈ (یا بیئرر ٹوکن) macOS کے لاگ ان 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 (مثلاً 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
آپ کی ہسٹری، لاگز — یا کسی AI کے کانٹیکسٹ میں کچھ نہیں
ایک بار جب راز 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
لاگ ان Keychain iCloud کے ذریعے سنک نہیں ہوتی — یہ ایک سوچی سمجھی حد ہے، تاکہ آپ کا پاس ورڈ اس Mac کو کبھی نہ چھوڑے جس پر آپ نے ٹائپ کیا تھا۔ ہر Mac پر ایک بار security قدم دہرائیں؛ config.json سنک شدہ ہوم فولڈر میں رہ سکتا ہے کیونکہ اس میں کوئی راز نہیں ہوتا۔
— per
machine