Salesforce CLI ga kirish xatolari bitta muammo deb xabar qilinadi, aslida esa odatda uchtadir. CLI jarayoni bir joyda ishlaydi, veb oqimni tugatuvchi brauzer boshqa joyda ishlaydi va keyingi API chaqiruvi ham bir joyda ishlaydi, bu uch joy marshrut, rezolver yoki ruxsat ro'yxatini bo'lishishi shart emas. Ularni solishtirish tunnel aslida qaysi birini to'sayotganini bilishning eng tez yo'li. Kirish chiqishida uchtadan qaysi biri muvaffaqiyatsiz bo'lgani yozilmaydi.

Uch xost, bitta kirish hikoyasi

Veb kirish oqimi identifikatsiya qadamini brauzerga topshiradi, va bu brauzer ko'pincha noutbukda bo'ladi, CLI esa masofaviy ishlab chiqish xostida yoki konteynerda o'tiradi. Noutbukda VPN mijozi bor, masofaviy xostda platforma jamoasi bergan narsa bor, va ikki sozlashdan hech biri ikkinchisini avtomatik qamrab olmaydi. Holat panelidagi VPN belgisi mijozni hech qachon ishga tushirmagan xost haqida hech narsa demaydi.

Kirgandan keyin CLI o'z API so'rovlarini jarayon yashaydigan joydan yuboradi. Bu so'rovlarga DNS, marshrutlash, TLS ishonchi va org tomonidan mijoz avtorizatsiyasi kerak, bular to'rtta alohida tekshiruv va har biri mustaqil muvaffaqiyatsiz bo'lishi mumkin. Chiroyli kirgan brauzer ularning hech biri haqida hech narsa demaydi.

Ikkala yarmini bitta vaqt chizig'ida saqlang, lekin ularni alohida baholang. Shunda bitta chipta qaysi yarmi buzilganini egalik haqidagi bahsga aylantirmasdan ayta oladi.

Org yozuvini orgdan oling, xotiradan emas

Veb oqim nusxa URL ni oladi va natijani taxallus ostida saqlaydi, va ikkala qiymat ham org egasidan kelishi kerak, hamkasbning terminal tarixidan emas. Eski chiptadan ko'chirilgan sandbox xosti noto'g'ri orgga autentifikatsiya qilib, keyin har bir so'rovda muvaffaqiyatsiz bo'ladigan kirishning keng tarqalgan sababidir.

O'rnatilgan plagin hujjatlashtirgan shaklni o'zingizning tasdiqlangan xostingiz va taxallusingiz bilan ishlating. O'sha hujjat sfdx va joriy CLI o'rtasida o'zgargan bayroqlar uchun ma'lumotnoma.

sf org login web --instance-url https://acme--uat.sandbox.my.salesforce.com --alias uat
sf org display --target-org uat

Yuqoridagi xost nomi va taxallus misollar, siz ko'chirishingiz kerak bo'lgan standart qiymatlar emas. Skript bilan chetlab o'tish o'rniga oddiy brauzer identifikatsiyasi va MFA qadamlarini bajaring, va so'rovni o'tkazib yuborish uchun hech qachon qobiq buyrug'iga parol, sessiya identifikatori yoki autentifikator urug'ini qo'ymang.

Keshlangan avtorizatsiya nimani isbotlaydi

Mahalliy avtorizatsiya ro'yxatida ko'rinadigan taxallus o'sha mashinada kirish bir marta muvaffaqiyatli bo'lganini isbotlaydi. Ro'yxat mahalliy saqlashdan o'qiladi va token hali ishlayotganini tasdiqlash uchun org bilan bog'lanmaydi, shuning uchun sog'lom ko'rinadigan yozuv va rad etilgan API chaqiruvi ikkalasi ham to'g'ri bo'lishi mumkin. Keshni o'tmish yozuvi deb biling, jonli ulanish testi deb emas. Kesh tekshiruvi qo'llab-quvvatlash savoliga javob beradi, lekin ulanish tekshiruvini hech qachon yopmaydi.

Xuddi shu farq brauzer sessiyasiga ham tegishli. Hali orgni ko'rsatayotgan yorliq CLI saqlagan token joriy siyosatga mos keladi degani emas, chunki token umri, IP cheklovlari va mijoz ilovasi qoidalari API chegarasida qo'llaniladi.

Mahalliy yozuvni o'chirishdan oldin o'qing, chunki taxallus va org xosti qo'llab-quvvatlash so'raydigan ikki fakt. Taxallusni olib tashlash qaytariladi, lekin voqea o'rtasida noto'g'risini olib tashlash faqat ikkinchi muammo qo'shadi.

API so'rovi aslida qayerda rad etiladi

Bitta so'rovni boshidan oxirigacha kuzatib, qaysi komponent javob berishini belgilang. TLS xatosi 403 dan boshqa muammoni nomlaydi, u esa taym-autdan boshqa muammoni nomlaydi, va uchtadan faqat taym-aut tunnelni birinchi gumondor sifatida ko'rsatadi. Xato sinfini xabardan oldin o'qish ko'p taxminni tejaydi. Biror narsani qayta ishga tushirishdan oldin sinfni yozib qo'ying.

Manba manzil cheklovlari kirish ishlaydigan, so'rov esa ishlamaydigan holat, chunki brauzer oqimi va API chaqiruvi turli manzillar orqali chiqishi mumkin. Buni kengroq ruxsat ro'yxati bilan tuzatish org egasining qarori, qulaylik emas, va u xostni qamrab oluvchi eng kichik oraliq bo'lishi kerak.

Muvaffaqiyatsiz buyruqni, taxallusni, bajarish xostini va vaqt belgisini qayd eting, va chiptaga yopishtirgan hamma narsadan tokenni tashqarida qoldiring. O'sha to'rt qatorli xulosa org egasiga o'z tomonini tekshirish uchun kerak.

Oqimni undan foydalanadigan xostdan tekshiring

Ish yukini bajaradigan mashinadan sinab ko'ring. Noutbukda tekshirilgan kirish boshqa tarmoq zonasidagi build agenti haqida hech narsa demaydi, va farq aynan siz topmoqchi bo'lgan narsadir.

Tekshiruv uchun zararsiz ruxsat etilgan o'qishdan foydalaning, va muvaffaqiyatsiz bo'lsa birinchi xatoni saqlang.

sf org list auth
sf org display --target-org uat
sf data query --target-org uat --query "select Id, Name from Organization"

Kirish muvaffaqiyatli bo'lib so'rov muvaffaqiyatsiz bo'lsa, qolgan nomzodlar DNS, marshrutlash, TLS ushlab qolish va org tomonidagi mijoz siyosati, va har birining o'z egasi bor. Kirishning o'zi muvaffaqiyatsiz bo'lsa, brauzer va CLI bir xostda emas ehtimol, va tuzatish tunnelga emas, ular orasidagi sozlashga tegishli. Avtomatlashtirish yana bitta qoida oladi: nazoratsiz ish tasdiqlangan sertifikatga asoslangan kirishni talab qiladi, chunki ishchiga ko'chirilgan keshlangan interaktiv sessiya identifikatsiya dizayni emas.

O'xshash maqolalar