องค์กรเข้าสู่ระบบ Salesforce หลังพร็อกซี

ฉันกำลังพยายามเชื่อมต่อกับ SalesForce โดยใช้ python และ Simple Salesforce เป้าหมายของฉันคือค้นหาสิ่งที่เทียบเท่ากับคำสั่งบรรทัดคำสั่ง - sfdx force:auth:web:login -r $url ใน python และรับโทเค็นการเข้าถึงผ่านโดเมนที่กำหนดเอง ฉันรันคำสั่งนี้หลังจากระบุตัวแปรพร็อกซีในบรรทัดคำสั่งโดยส่งออก http_proxy และ https_proxy

จนถึงตอนนี้เมื่อดูตัวอย่างและอ่านเอกสารต่างๆ แล้ว ฉันไม่พบสิ่งใดที่จะสามารถรับโทเค็นมาให้ฉันได้ คำแนะนำใด ๆ เกี่ยวกับเรื่องนี้จะได้รับการชื่นชม ฉันสามารถเรียกกระบวนการ sdfx ได้ แต่ฉันสงสัยว่ามีวิธีการทำเช่นนี้ผ่าน python หรือไม่


person Steve_Greenwood    schedule 11.02.2021    source แหล่งที่มา


คำตอบ (1)


simple_salesforce ไม่มีการรับรองความถูกต้อง OAuth ในรูปแบบส่วนใหญ่ เช่น force:auth:web:login สามวิธีในการเข้าสู่ระบบด้วย simple_salesforce ได้แก่:

  1. จัดเตรียมโทเค็นการเข้าถึงของคุณเอง ซึ่งได้รับจากการดำเนินการตรวจสอบสิทธิ์ OAuth ที่อื่น
  2. ดำเนินการเข้าสู่ระบบ SOAP โดยระบุชื่อผู้ใช้ รหัสผ่าน และโทเค็นความปลอดภัย (หรือพารามิเตอร์ที่จำเป็นอื่นๆ ขึ้นอยู่กับการกำหนดค่าเฉพาะขององค์กรของคุณ)
  3. ใช้ขั้นตอน JWT OAuth กับชื่อผู้ใช้และใบรับรอง

ในสามข้อนี้ JWT จะดีกว่าเมื่อทำการรวมเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์ และการเข้าสู่ระบบ SOAP สำหรับการใช้งานเชิงโต้ตอบที่คอนโซล

person David Reed    schedule 11.02.2021
comment
มีห้องสมุดอื่นที่สามารถทำได้หรือไม่? ฉันได้ลองวิธีการดังกล่าวแล้ว แต่ไม่ได้ผล - person Steve_Greenwood; 12.02.2021
comment
คุณหมายความว่าอย่างไร? ใช้งานได้จริง แต่ไม่มีความสามารถ OAuth หากองค์กรของคุณใช้กลยุทธ์เฉพาะ เช่น การทำรายการ IP ที่อนุญาต คุณอาจต้องปฏิบัติตามคำแนะนำต่างๆ ในเอกสาร simple_salesforce - person David Reed; 12.02.2021
comment
SalesforcePy รองรับโฟลว์ OAuth ของชื่อผู้ใช้-รหัสผ่าน - person David Reed; 12.02.2021
comment
เมื่อใดก็ตามที่ฉันพยายามรับโทเค็น มันจะไม่มีการส่งคืนเลย วิธีการทั้งหมดเหล่านี้ต้องใช้รหัสลับไคลเอ็นต์และรหัสที่ฉันไม่มี ฉันกำลังพยายามหาบางอย่างมาใช้กับ ID ผู้ใช้และรหัสผ่าน นี่เป็นหนึ่งในวิธีการที่มี Salesforce แบบธรรมดา แต่ต้องใช้โทเค็นการเข้าถึง - person Steve_Greenwood; 14.02.2021
comment
simple_salesforce ให้ระบุการเข้าสู่ระบบด้วยชื่อผู้ใช้-รหัสผ่าน คุณจะต้องมีโทเค็นความปลอดภัย แต่นั่นไม่เหมือนกับโทเค็นการเข้าถึง โทเค็นความปลอดภัยของคุณจะถูกรีเซ็ตและส่งอีเมลถึงคุณทุกครั้งที่คุณรีเซ็ตรหัสผ่าน - person David Reed; 14.02.2021
comment
เนื่องจากการเข้าสู่ระบบในองค์กรของฉันถูกควบคุมผ่าน oauth ฉันจึงไม่สามารถรีเซ็ตรหัสผ่านได้ และสิ่งนี้ไม่ได้ถูกส่งถึงฉันเมื่อบัญชีเริ่มต้น มีวิธีรับจากพอร์ทัลหรือไม่? - person Steve_Greenwood; 14.02.2021
comment
ควบคุมผ่าน oauth หมายถึงอะไร? คุณกำลังบอกว่าองค์กรของคุณมี SSO บังคับใช่หรือไม่ - person David Reed; 14.02.2021
comment
ใช่แล้ว ไม่สามารถแม้แต่จะเข้าสู่พอร์ทัลได้หากไม่มีมัน - person Steve_Greenwood; 14.02.2021
comment
ถ้าอย่างนั้น simple_salesforce คนเดียวจะไม่ตัดมัน คุณจะต้องใช้ OAuth ภายนอกไลบรารี (และสร้างแอปที่เชื่อมต่อเพื่อรับรหัสลับและคีย์ไคลเอ็นต์) หรือใช้ไลบรารีอื่นที่รองรับการเข้าสู่ระบบ OAuth และรับโทเค็นการเข้าถึงแก่คุณ จากนั้นส่งโทเค็นการเข้าถึงไปยัง simple_salesforce คุณจะไม่สามารถใช้ตัวเลือกการเข้าสู่ระบบที่มีอยู่ใน simple_salesforce ได้ - person David Reed; 14.02.2021
comment
ดูคำถาม SFSE นี้: salesforce.stackexchange.com/ คำถาม/170673/ - person David Reed; 14.02.2021