Salesforce CLI-д нэвтрэх алдааг нэг асуудал гэж мэдээлдэг боловч ихэвчлэн гурав байдаг. CLI процесс хаа нэгтээ ажилладаг, вэб урсгалыг дуусгах хөтөч хаа нэгтээ ажилладаг, дараагийн API дуудлага хаа нэгтээ ажилладаг бөгөөд тэр гурван газар маршрут, шийдэгч эсвэл зөвшөөрөгдсөн жагсаалтыг хуваалцах шаардлагагүй. Тэдгээрийг харьцуулах нь туннель үнэндээ алийг нь хааж байгааг мэдэх хамгийн хурдан арга юм. Нэвтрэх гаралтад гуравын аль нь бүтэлгүйтсэнийг юу ч хэлэхгүй.

Гурван хост, нэг нэвтрэх түүх

Вэб нэвтрэх урсгал таних алхмыг хөтөчдөө дамжуулдаг бөгөөд тэр хөтөч ихэвчлэн зөөврийн компьютер дээр байдаг бол CLI алсын хөгжлийн хост эсвэл контейнерт сууж байдаг. Зөөврийн компьютерт VPN клиент байдаг, алсын хостод платформын баг өгсөн зүйл байдаг бөгөөд эдгээр хоёр зохицуулалтын аль нь ч нөгөөг автоматаар хамардаггүй. Төлөвийн мөрөнд VPN дүрс нь клиентийг хэзээ ч ажиллуулаагүй хост тухай юу ч хэлэхгүй.

Нэвтэрсний дараа CLI өөрийн API хүсэлтүүдийг процесс амьдардаг газраас илгээдэг. Тэдгээр хүсэлтэд DNS, чиглүүлэлт, TLS итгэл, org талын клиент зөвшөөрөл шаардлагатай бөгөөд эдгээр нь дөрвөн тусдаа шалгалт бөгөөд тус бүр дангаараа бүтэлгүйтэж болно. Сайхан нэвтэрсэн хөтөч тэдгээрийн аль нэгний тухай юу ч хэлэхгүй.

Хоёр хагасыг нэг цагийн шугам дээр байлга, гэхдээ тус тусад нь үнэл. Тэгвэл нэг тасалбар аль хагас эвдэрснийг өмчлөлийн маргаан болгохгүйгээр хэлж чадна.

Org бичлэгийг org-оос ав, санах ойгоос биш

Вэб урсгал инстансын URL авч үр дүнг хоч нэрийн дор хадгалдаг бөгөөд хоёр утга хоёулаа ажилтны терминалын түүхээс биш, org эзэмшигчээс ирэх ёстой. Хуучин тасалбараас хуулсан sandbox хост нь буруу org-д баталгаажуулж, дараа нь бүх асуулгад бүтэлгүйтдэг нэвтрэлтийн нийтлэг шалтгаан юм.

Суулгасан залгаасын баримтжуулсан хэлбэрийг өөрийн зөвшөөрөгдсөн хост, хоч нэртэйгээр ашигла. Тэр баримт бичиг нь sfdx ба одоогийн CLI хооронд өөрчлөгдсөн флагуудын лавлагаа юм.

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

Дээрх хост нэр ба хоч нэр нь жишээ бөгөөд таны хуулах ёстой өгөгдмөл утга биш. Скриптээр тойрч гарахын оронд хөтчийн ерийн таних ба MFA алхмуудыг дуусга, мөн хүсэлтийг алгасахын тулд бүрхүүлийн команд дахь нууц үг, сессийн танигч эсвэл баталгаажуулагчийн үрийг хэзээ ч бүү хий.

Кэшлэсэн зөвшөөрөл юуг баталдаг вэ

Орон нутгийн зөвшөөрлийн жагсаалтад харагдах хоч нэр нь тухайн машин дээр нэвтрэлт нэг удаа амжилттай болсныг батладаг. Жагсаалтыг орон нутгийн сангаас уншдаг бөгөөд токен одоо ч ажиллаж байгаа эсэхийг баталгаажуулахын тулд org-той холбогддоггүй, тиймээс эрүүл харагдах бичлэг ба татгалзсан API дуудлага хоёулаа нэгэн зэрэг үнэн байж болно. Кэшийг өнгөрсөн цагийн бүртгэл гэж үз, амьд холболтын туршилт гэж биш. Кэшийн шалгалт дэмжлэгийн асуултад хариулдаг боловч холболтын мөрдөн шалгалтыг хэзээ ч хаадаггүй.

Мөн адил ялгаа хөтчийн сессэд хамаарна. Org-ийг одоо ч харуулж буй таб нь CLI-ийн хадгалсан токен одоогийн бодлоготой нийцэж байна гэсэн үг биш, учир нь токены наслалт, IP хязгаарлалт, клиент аппын дүрмийг API-ийн хил дээр хэрэгжүүлдэг.

Орон нутгийн бичлэгийг устгахаасаа өмнө унш, учир нь хоч нэр ба org хост нь дэмжлэг асуух хоёр баримт. Хоч нэр арилгах нь буцаагдах боломжтой, гэхдээ ослын дунд буруу хоч нэрийг арилгах нь зөвхөн хоёр дахь асуудал нэмнэ.

API хүсэлт үнэндээ хаана татгалзагдадаг вэ

Нэг хүсэлтийг эхнээс нь төгсгөл хүртэл дагаж, аль бүрэлдэхүүн хариулж байгааг тэмдэглэ. TLS алдаа 403-аас өөр асуудлыг нэрлэдэг бөгөөд энэ нь таймаутаас өөр асуудлыг нэрлэдэг, гуравын зөвхөн таймаут нь туннелийг анхны сэжигтэн гэж заадаг. Мессежээс өмнө алдааны классыг унших нь олон таамаглал хэмнэдэг. Ямар нэг зүйлийг дахин ажиллуулахын өмнө классыг бичиж хадгал.

Эх үүсвэрийн хаягийн хязгаарлалт нь нэвтрэлт ажиллаж, асуулга ажиллахгүй байх тохиолдол бөгөөд хөтчийн урсгал ба API дуудлага өөр хаягаар гарч болно. Үүнийг илүү өргөн зөвшөөрөгдсөн жагсаалтаар засах нь org эзэмшигчийн шийдвэр, тав тух биш бөгөөд хостыг хамарсан хамгийн жижиг хүрээ байх ёстой.

Бүтэлгүйтсэн команд, хоч нэр, гүйцэтгэлийн хост, цагийн тэмдгийг бичиж аваад, тасалбарт нааж буй бүхнээс токеныг гадуур үлдээ. Тэр дөрвөн мөрийн хураангуй нь org эзэмшигчид өөрийн талыг шалгахад хэрэгтэй зүйл юм.

Ашиглах хостоос урсгалыг шалга

Ажлын ачааллыг гүйцэтгэх машинаас турш. Зөөврийн компьютерт баталгаажсан нэвтрэлт нь өөр сүлжээний бүс дэх build агентийн тухай юу ч хэлэхгүй бөгөөд ялгаа нь яг таны олох гэж буй зүйл юм.

Шалгалтад хор хөнөөлгүй зөвшөөрөгдсөн уншилт ашигла, бүтэлгүйтвэл эхний алдааг хадгал.

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

Нэвтрэлт амжилттай боловч асуулга бүтэлгүйтвэл үлдсэн боломжууд нь DNS, чиглүүлэлт, TLS-ийн таслан саатуулалт, org талын клиент бодлого бөгөөд тус бүр өөрийн эзэнтэй. Нэвтрэлт өөрөө бүтэлгүйтвэл хөтөч ба CLI нэг хост дээр биш байх магадлалтай бөгөөд засвар нь туннельд биш, тэдний хоорондын зохицуулалтад хамаарна. Автоматжуулалт бас нэг дүрэмтэй болдог: хяналтгүй ажилд зөвшөөрөгдсөн гэрчилгээнд суурилсан нэвтрэлт хэрэгтэй, учир нь ажилчин руу хуулсан кэшлэсэн интерактив сесс нь таних дизайн биш юм.

Холбоотой нийтлэлүүд