คีย์ API - ในเนื้อหาหรือส่วนหัว


14

กำลังทำงานกับ API ในขณะนี้และต้องการรวบรวมความคิดเห็นเกี่ยวกับตำแหน่งที่ดีที่สุดในการส่งคีย์ API ฉันรู้ว่าไม่ควรเข้าไปใน URL สิ่งนี้ทำให้ส่วนหัวคำขอหรือเนื้อหาข้อความ

หากฉันใส่ไว้ในส่วนหัวฉันสามารถสร้างวิธีทั่วไปสำหรับดึงมันออกมาซึ่งสามารถใช้ได้กับทุกบริการอย่างไรก็ตามข้อมูลจำเพาะที่ฉันส่งมานั้นต้องการในร่างกาย (เช่นในสตริง JSON ที่รวมเป็นส่วนหนึ่งของ วัตถุที่ทำให้เป็นอนุกรมในเนื้อหาของ POST)


โปรดทราบว่าประเภทคำขอทั้งหมดไม่ควรมีเนื้อหาและหากคุณต้องการตรวจสอบความถูกต้องของคำขอโดยไม่มีเนื้อความที่สำคัญจะต้องอยู่ในส่วนหัว
Whymarrh

คำตอบ:


11

ใน HTTP มีAuthorizationส่วนหัวสำหรับสิ่งนั้น

แม้ว่าโดยปกติจะใช้เพื่อให้ข้อมูลประจำตัวของผู้ใช้ในกรณีของ API แต่ก็สามารถมี ID ของลูกค้าและคีย์ API ที่สอดคล้องกัน

มีประโยชน์หลายประการ:

  • การสนับสนุนจากกรอบงานที่แตกต่างกัน เฟรมเวิร์กจำนวนมากจะคาดหวังAuthorizationส่วนหัวเพื่อทำการตรวจสอบสิทธิ์ การไม่ใช้มันจะบังคับให้เขียนโค้ดเพิ่มเติมเพื่อป้อนเฟรมเวิร์กเหล่านั้นด้วยค่าที่กำหนดเอง

  • การสนับสนุนจากเครื่องมือต่าง ๆ เช่น CURL

  • หัก“ WTF ฉันจะค้นหา / วางคีย์ API นี้ได้ที่ไหน!” จากนักพัฒนาใหม่เข้าร่วมทีม (หรือนักพัฒนาออกแบบลูกค้าใหม่สำหรับ API ของคุณ)

  • จากนั้นคุณสามารถใช้คำจำกัดความรหัสสถานะ HTTP เช่น401 Unauthorized, ที่ :

    การตอบสนองต้องมีฟิลด์ส่วนหัว WWW-Authenticate [... ] ไคลเอนต์อาจร้องขอซ้ำด้วยฟิลด์ส่วนหัวการอนุญาตที่เหมาะสม

การย้ายไปที่เนื้อหาของคำขออาจกลายเป็นความเจ็บปวดได้อย่างรวดเร็ว กรอบงานและเครื่องมือส่วนใหญ่ไม่ได้ตรงไปตรงมาเพื่อเพิ่มเนื้อหาลงในคำขอซึ่งอาจทำให้ API ของคุณยากกว่าที่ควรจะเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.