ERROR running force:org:create: Error authenticating with JWT config due to: invalid assertion
הודעת השגיאה
למה אנחנו רואים את הודעת השגיאה הזאת?
לעיתים כשננסה ליצור Scratch org חדש באמצעות הפקודה sfdx force:org:create נתקל בהודעת השגיאה Error authenticating with JWT config due to: invalid assertion.
הסיבה לתקלה זאת היא ניסיון של Salesforce CLI להתחבר לסביבת ה-DevHub שלנו באמצעות תקן JWT, במקום אימות באמצעות Web Login, כדי ליצור את ה-Scratch org שלנו. מצב כזה יכול לקרות אם הפרויקט שלנו הכיל בשלב כל שהוא מפתח SSL (קובץ בסיומת .key) ששימש אותנו לחיבור לסביבת ה-DevHub שלנו, לדוגמה ב-Pipeline של Azure DevOps או כלי אוטומציה אחר, ומחקנו את המפתח לאחר מכן.
פתרון
כדי לפתור את הודעת השגיאה הזאת, עלינו לבצע Logout מסביבת ה-DevHub שלנו ואז להתחבר אליה מחדש באמצעות Web Login.
הודעת השגיאה
sfdx force:org:create -s -f config/project-scratch-def.json -a MyScratchOrgAlias -u MyDevHubAlias
ERROR running force:org:create: Error authenticating with JWT config due to: invalid assertion
invalid assertion
invalid assertion
invalid assertion
invalid assertion
ביצוע Logout
sfdx force:auth:logout -u MyDevHubAlias
Are you sure you want to log out from these org(s)? MyEmail@MyCompany.co.il
Important: You need a password to reauthorize scratch orgs. By default, scratch orgs have no password. If you still need your scratch orgs, run "sfdx force:user:password:generate" before logging out. If you don't need the scratch orgs anymore, run "sfdx force:org:delete" instead of logging out.
Log out (y/n)?: y
Successfully logged out of orgs: MyEmail@MyCompany.co.il
חיבור מחדש והגדרת הסביבה כ-DevHub ברירת המחדל שלנו
sfdx auth:web:login -a MyDevHub -d
Successfully authorized MyEmail@MyCompany.co.il with org ID 00D***
יצירת Scratch org חדש בהצלחה
sfdx force:org:create -s -f config/project-scratch-def.json -a CS4231 -u ProductsProduction
Successfully created scratch org: 00D***, username: test-random@example.com
זה הכול. כעת Salesforce CLI יוכל להתחבר בהצלחה לסביבת ה-DevHub שלנו על מנת ליצור עבורנו Scratch org חדשים ללא הודעת שגיאה.