Salesforce CLI लॉगिनच्या अपयशा एकच समस्या म्हणून नोंदवल्या जातात आणि सहसा त्या तीन असतात। CLI प्रक्रिया कुठेतरी चालते, वेब प्रवाह पूर्ण करणारा ब्राउझर कुठेतरी चालतो, आणि नंतरचा API कॉल कुठेतरी चालतो, आणि त्या तीन ठिकाणांना एकच मार्ग, रिझॉल्व्हर किंवा परवानगी यादी सामायिक करण्याची गरज नाही। त्यांची तुलना करणे हे टनेल प्रत्यक्षात कोणाला अडवत आहे हे शोधण्याचा सर्वात जलद मार्ग आहे। लॉगिन आउटपुटमध्ये तीनपैकी कोण अपयशी ठरले हे काहीच सांगत नाही।

तीन होस्ट, एक लॉगिन कथा

वेब लॉगिन प्रवाह ओळखीची पायरी ब्राउझरकडे सोपवतो, आणि तो ब्राउझर अनेकदा तुमच्या लॅपटॉपवर असतो तर CLI दूरच्या विकास होस्टवर किंवा कंटेनरमध्ये बसलेले असते। लॅपटॉपकडे VPN क्लायंट असतो, दूरच्या होस्टकडे प्लॅटफॉर्म टीमने दिलेले असते, आणि या दोन्ही व्यवस्थांपैकी एकही दुसऱ्याला स्वयंचलितपणे झाकत नाही। स्टेटस बारमधील VPN चिन्ह अशा होस्टबद्दल काहीही सांगत नाही ज्याने क्लायंट कधीच चालवला नाही।

लॉगिननंतर CLI आपल्या API विनंत्या प्रक्रिया जिथे राहते तिथूनच करते। त्या विनंत्यांना DNS, राउटिंग, TLS विश्वास आणि org च्या बाजूने क्लायंट अधिकृतता लागते, या चार स्वतंत्र तपासण्या आहेत आणि प्रत्येक स्वतःहून अपयशी होऊ शकते। सुंदरपणे साइन इन केलेला ब्राउझर यापैकी एकाबद्दलही काही सांगत नाही।

दोन्ही अर्धे एकाच टाइमलाइनवर ठेवा, पण त्यांना वेगवेगळे गुण द्या। मग एक तिकीट कोणते अर्धे तुटले हे मालकीच्या वादात न बदलता सांगू शकते।

org ची नोंद org कडूनच घ्या, स्मरणातून नाही

वेब प्रवाह इन्स्टन्स URL घेतो आणि निकाल उपनावाखाली साठवतो, आणि दोन्ही मूल्ये org मालकाकडून यायला हवीत, सहकाऱ्याच्या टर्मिनल इतिहासातून नाही। जुन्या तिकिटातून कॉपी केलेला सॅंडबॉक्स होस्ट चुकीच्या 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 मालकाला आपली बाजू तपासण्यासाठी लागतो।

जो होस्ट वापरणार आहे त्याच्याकडूनच प्रवाह तपासा

जे मशीन वर्कलोड चालवणार आहे त्यावरून चाचणी करा। तुमच्या लॅपटॉपवर सत्यापित लॉगिन दुसऱ्या नेटवर्क झोनमधील बिल्ड एजंटबद्दल काहीही सांगत नाही, आणि फरक तोच आहे जो तुम्ही शोधत आहात।

तपासणीसाठी निरुपद्रवी अधिकृत वाचन वापरा, आणि अपयश आल्यास पहिली त्रुटी ठेवा।

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 बहुधा एकाच होस्टवर नसतात, आणि दुरुस्ती टनेलची नाही, त्यांच्यामधील व्यवस्थेची आहे। ऑटोमेशनला आणखी एक नियम मिळतो: देखरेख नसलेल्या कामासाठी मंजूर प्रमाणपत्र-आधारित लॉगिन लागते, कारण वर्करवर कॉपी केलेले कॅशे केलेले इंटरअॅक्टिव्ह सत्र ओळख-रचना नाही।

संबंधित लेख