คีย์ API คือสตริงที่ไม่ซ้ำกันซึ่งใช้เพื่อกำหนดเส้นทางคำขอไปยัง Firebase
เมื่อโต้ตอบกับ Firebase และบริการของ Google หน้านี้อธิบายถึง
ข้อมูลพื้นฐานเกี่ยวกับคีย์ API รวมถึงแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้งานและ
จัดการคีย์ API ด้วยแอป Firebase
ข้อมูลทั่วไปเกี่ยวกับคีย์ API และ Firebase
คีย์ API สำหรับ Firebase แตกต่างจากคีย์ API ทั่วไป
คีย์ API สำหรับบริการ Firebase ต่างจากวิธีใช้คีย์ API โดยทั่วไป
ไม่ใช้ในการควบคุมการเข้าถึงทรัพยากรแบ็กเอนด์ ที่สามารถทำได้เท่านั้น
ด้วย Firebase Security Rules (เพื่อควบคุมว่าผู้ใช้ปลายทางรายใดบ้างที่สามารถเข้าถึงทรัพยากรได้) และ
Firebase App Check (เพื่อควบคุมแอปที่เข้าถึงทรัพยากรได้)
โดยปกติแล้ว คุณจำเป็นต้องป้องกันคีย์ API อย่างรวดเร็ว (ตัวอย่างเช่น
โดยใช้บริการห้องนิรภัยหรือตั้งค่าคีย์เป็นตัวแปรสภาพแวดล้อม) อย่างไรก็ตาม
คีย์ API สำหรับบริการ Firebase สามารถรวมไว้ในโค้ดหรือการกำหนดค่าที่เช็คอินได้
เว็บแอป Firebase — ค้นหาคีย์ API ที่จับคู่อัตโนมัติใน Firebase
ของออบเจ็กต์การกำหนดค่าในช่องapiKey
การใช้คีย์ API
คีย์ API ใช้เพื่อระบุโปรเจ็กต์ Firebase เมื่อโต้ตอบกับ
บริการ Firebase/Google กล่าวโดยเจาะจงคือ ใช้เพื่อเชื่อมโยงคำขอ API
กับโปรเจ็กต์ของคุณสำหรับโควต้าและการเรียกเก็บเงิน และยังมีประโยชน์สำหรับการเข้าถึง
ข้อมูลสาธารณะ
ตัวอย่างเช่น คุณใช้คีย์ API อย่างชัดแจ้งได้โดยการส่งค่าไปยัง REST
การเรียก API เป็นพารามิเตอร์การค้นหา ตัวอย่างนี้แสดงวิธีส่งคำขอ
ไปยัง
API สำหรับ Dynamic Links ลิงก์ย่อ:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
เมื่อแอปเรียกใช้ Firebase API ซึ่งต้องระบุคีย์ API
โดยไคลเอ็นต์บนอุปกรณ์เคลื่อนที่/เว็บ แอปของคุณจะแสดง
ไฟล์/ออบเจ็กต์การกำหนดค่า Firebase สำหรับคีย์ API ของโปรเจ็กต์ อย่างไรก็ตาม คุณสามารถ
ระบุคีย์ API สำหรับแอปของคุณโดยใช้กลไกที่แตกต่างกัน รวมถึงสภาพแวดล้อม
ตัวแปร
ตรวจสอบและใช้ข้อจำกัดที่เหมาะสมกับคีย์ API (แนะนำ)
แม้ว่าจะไม่จำเป็นต้องดูแลคีย์ API สำหรับบริการ Firebase เป็น
คุณควรตรวจสอบและใช้ข้อจำกัดและข้อจำกัดตามที่อธิบายไว้ใน
ตรวจสอบ API ที่เพิ่มลงในรายการที่อนุญาตสำหรับคีย์ Firebase API โดยอัตโนมัติ
เมื่อ Firebase สร้างคีย์ API ในโปรเจ็กต์ เราจะเพิ่มโดยอัตโนมัติ
"การจำกัด API"
กับคีย์นั้น โดย API ที่เพิ่มลงในรายการที่อนุญาตนี้เป็น API ที่เกี่ยวข้องกับ Firebase ซึ่ง
ไคลเอ็นต์ต้องระบุคีย์ API พร้อมกับการเรียกใช้ โปรดทราบว่าโดยส่วนใหญ่
API ที่จำเป็นสำหรับการใช้บริการ Firebase ไม่จำเป็นต้องอยู่ใน
สำหรับคีย์ API ของคุณ
เนื่องจาก Firebase เพิ่ม API ที่จำเป็นสำหรับบริการ Firebase ทั้งหมด
รายการที่อนุญาตสำหรับคีย์ API อาจมี API สำหรับผลิตภัณฑ์ที่คุณไม่ได้ใช้
คุณสามารถนำ API ออกจากรายการที่อนุญาตได้ แต่ต้องระวังให้มากที่จะไม่ดำเนินการ
นำ API ที่จำเป็นสำหรับ Firebase และบริการ Firebase ที่คุณใช้ออก
(โปรดดู
รายการ API ที่เกี่ยวข้องกับ Firebase
ที่ต้องอยู่ในรายการที่อนุญาตสำหรับแต่ละบริการ / ผลิตภัณฑ์) มิฉะนั้น คุณจะ
จะได้รับข้อผิดพลาดเมื่อเรียกใช้บริการ Firebase
เพื่อลดความเสี่ยงที่ผู้อื่นอาจใช้คีย์ API ในทางที่ผิด
ในการโจมตีแบบบรูตฟอร์ซ คุณจะสามารถลดโควต้าเริ่มต้นของ
identitytoolkit.googleapis.com ปลายทางเพื่อแสดงการรับส่งข้อมูลปกติ
ที่ผู้ใช้คาดหวังจากแอปของคุณ โปรดทราบว่าหากคุณจำกัดโควต้านี้และแอปของคุณ
ได้ผู้ใช้เพิ่มขึ้นอย่างกะทันหัน คุณอาจได้รับข้อผิดพลาดในการลงชื่อเข้าใช้จนกว่าจะเพิ่มโควต้า
คุณสามารถเปลี่ยนโควต้า API ของโปรเจ็กต์ได้ใน
คอนโซล Google Cloud
ใช้คีย์ API ที่ถูกจำกัดแยกต่างหากสำหรับบริการที่ไม่ใช่ Firebase
แม้ว่าคีย์ API ที่ใช้สำหรับบริการ Firebase จะไม่จำเป็นต้องรับการจัดการ
คุณควรระมัดระวังเป็นพิเศษกับคีย์ API ที่ใช้
ร่วมกับ Google Cloud API อื่นๆ
หากคุณใช้ Google Cloud API (ในแพลตฟอร์มใดก็ตาม) ที่ไม่ใช่สำหรับ Firebase
เราขอแนะนำอย่างยิ่งให้สร้างคีย์ API แยกต่างหากและมีข้อจำกัด
เพื่อใช้กับ API เหล่านั้น ซึ่งมีความสำคัญโดยเฉพาะอย่างยิ่งหาก API ใช้สำหรับ
บริการ Google Cloud ที่เรียกเก็บเงินได้
เช่น หากคุณใช้ Firebase ML และ Cloud Vision API ใน iOS คุณจะ
ควรสร้างคีย์ API แยกต่างหากที่คุณใช้เฉพาะ
สำหรับการเข้าถึง Cloud Vision API
การใช้คีย์ API ที่ถูกจำกัดแยกต่างหากสำหรับ API ที่ไม่ใช่ Firebase คุณสามารถหมุนเวียนหรือ
เปลี่ยนคีย์เมื่อจำเป็นและเพิ่มข้อจำกัดเพิ่มเติมให้กับ API
คีย์
โดยไม่รบกวนการใช้บริการ Firebase ของคุณ
ดูวิธีการสร้างคีย์เฉพาะ API
วิธีการเหล่านี้อธิบายวิธีสร้างคีย์ API แบบจำกัดที่แยกต่างหากสำหรับ
fake API ที่ชื่อ Super Service API
ขั้นตอนที่ 1: กำหนดค่าคีย์ API ที่มีอยู่เพื่อไม่ให้สิทธิ์การเข้าถึง Super Service API
เปิดข้อมูลเข้าสู่ระบบ
ของคอนโซล Google Cloud เมื่อได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์
สำหรับคีย์ API ที่มีอยู่ในรายการ ให้เปิดมุมมองการแก้ไข
ในส่วนการจำกัด API ให้เลือกจำกัดคีย์ แล้วเพิ่มลงใน
แสดงรายการ API ทั้งหมดที่คุณต้องการให้คีย์ API เข้าถึงได้ ตรวจสอบว่า
เพื่อไม่รวม API ที่คุณจะสร้างคีย์ API แยกต่างหาก
(ในตัวอย่างนี้คือ Super Service API)
เมื่อคุณกำหนดค่าข้อจำกัด API ของคีย์ API คุณจะ
ประกาศ API ที่คีย์ดังกล่าวมีสิทธิ์เข้าถึง โดยค่าเริ่มต้น เมื่อ
ส่วนการจำกัด API มีการเลือกไม่จำกัดคีย์ ซึ่งเป็นคีย์ API
จะใช้เพื่อเข้าถึง API ใดก็ได้ที่เปิดใช้สำหรับโปรเจ็กต์
ตอนนี้คีย์ API ที่มีอยู่ของคุณจะไม่ให้สิทธิ์เข้าถึงแก่ Super Service API แต่
แต่ละคีย์จะยังคงทำงานสำหรับ API ที่คุณเพิ่มใน
รายการการจำกัด API
ขั้นตอนที่ 2: สร้างและใช้คีย์ API ใหม่สำหรับการเข้าถึง Super Service API
เพื่อลดปัญหาในการโปรโมตการเปลี่ยนแปลงโค้ดจากการพัฒนาเป็นการทดลองใช้
เวอร์ชันที่ใช้งานจริง แทนที่จะรวมคีย์ API ในโค้ด ให้ตั้งค่าเป็น
หรือรวมไว้ในไฟล์การกำหนดค่า
โปรดทราบว่าหากคุณใช้ Firebase Local Emulator Suite สำหรับการพัฒนาควบคู่ไปด้วย
ด้วย Firebase ML คุณต้องสร้างและใช้คีย์ API สำหรับแก้ไขข้อบกพร่องเท่านั้น คำสั่ง
สำหรับการสร้างคีย์ประเภทนั้น จะอยู่ใน
Firebase ML เอกสาร
คำถามที่พบบ่อยและการแก้ปัญหา
คำถามที่พบบ่อย
เป็นคีย์ API
สำหรับบริการ Firebase ถูกจำกัดโดยค่าเริ่มต้นใช่ไหม
โดย API ที่เพิ่มลงในรายการที่อนุญาตนี้คือ API ที่บริการ Firebase เรียกใช้จาก
และต้องใช้คีย์ API เพื่อระบุโปรเจ็กต์ Firebase หรือ
แอป โปรดทราบว่า API ส่วนใหญ่ที่จำเป็นต้องใช้สำหรับการใช้บริการ Firebase ไม่ได้ใช้
ต้องอยู่ในรายการที่อนุญาตสำหรับคีย์ API ของคุณ
เนื่องจาก Firebase เพิ่ม API ที่จำเป็นสำหรับบริการ Firebase ทั้งหมด
รายการที่อนุญาตสำหรับคีย์ API อาจมี API สำหรับผลิตภัณฑ์ที่คุณไม่ได้ใช้ คุณ
สามารถนำ API ออกจากรายการที่อนุญาตได้ แต่คุณต้องใช้ความระมัดระวังอย่างยิ่งที่จะไม่นำออก
API ที่จำเป็นสำหรับ Firebase และบริการ Firebase ที่คุณใช้ (โปรดดู
รายการ API ที่เกี่ยวข้องกับ Firebase
ที่ต้องอยู่ในรายการที่อนุญาตสำหรับแต่ละบริการ / ผลิตภัณฑ์) มิฉะนั้น คุณจะ
จะได้รับข้อผิดพลาดเมื่อเรียกใช้บริการ Firebase
ในช่วงเดือนพฤษภาคม 2024 คีย์ API ที่มีอยู่ทั้งหมดและไม่จำกัดที่ Firebase มี
ที่จัดสรรโดยอัตโนมัติก่อนหน้านี้ถูกจำกัดไว้เฉพาะ
รายการ API ที่เกี่ยวข้องกับ Firebaseและ API ใดๆ ของโปรเจ็กต์ที่เปิดใช้อยู่ในปัจจุบัน
คีย์ API ที่มีอยู่และถูกจำกัดซึ่ง Firebase เคยมีก่อนหน้านี้แล้ว
จัดสรรโดยอัตโนมัติไม่เปลี่ยนแปลง
คีย์ API ที่มีอยู่ซึ่งไม่ได้จัดสรรโดยอัตโนมัติโดย Firebase
มีการเปลี่ยนแปลง
ฉันจะระบุคีย์ API ได้อย่างไร
เชื่อมโยงกับแอป Firebase ของฉันไหม
คุณใช้ตัวเลือกใดก็ได้ต่อไปนี้เพื่อระบุว่าคีย์ API ใด
ที่เชื่อมโยงกับแอป Firebase
เว็บแอป Firebase — แต่ละแอปจะมีอ็อบเจ็กต์การกำหนดค่าของตัวเองและมีได้เพียง
แสดงรายการคีย์ API 1 รายการ
แต่คุณสามารถใช้คีย์ API หลายรายการกับแอปเดียวได้ คุณต้องระบุ
สำหรับแอปของคุณในการเข้าถึงคีย์ API อื่นๆ เหล่านี้ เช่น ผ่านสภาพแวดล้อม
ตัวแปร กลไกในการเข้าถึงคีย์ API อื่นๆ ต้องไม่อ้างอิงคีย์เหล่านั้น
คีย์ API แสดงอยู่ในไฟล์/ออบเจ็กต์การกำหนดค่า Firebase
Firebase ทำงานอย่างไร
รู้ว่าคีย์ API ใดจับคู่กับแอป (เช่น ในการกำหนดค่า Firebase
ไฟล์/ออบเจ็กต์) หรือไม่
ฉันจะย้าย
คีย์ API จากโปรเจ็กต์ Firebase หนึ่งไปยังอีกโปรเจ็กต์หนึ่งใช่ไหม
ไม่ คีย์ API จะระบุโปรเจ็กต์ที่เฉพาะเจาะจงเท่านั้นและจะย้ายไปยังโปรเจ็กต์อื่นไม่ได้
จะเกิดอะไรขึ้นหากฉัน
ลบคีย์ API ที่ปรากฏในคอนโซล Google Cloud ใช่ไหม
หากคุณลบคีย์ API ที่มีแอปใช้งานอยู่ การเรียก API จากแอปนั้น
จะล้มเหลว คุณอาจได้รับรายงาน อีเมล หรือข้อผิดพลาดที่คุณพยายามใช้
คีย์ API ที่ไม่ถูกต้อง
การลบคีย์ API เป็นการดำเนินการแบบถาวรและยกเลิกไม่ได้
ซึ่ง
ต้องระบุ API ใน "ข้อจำกัด API" สำหรับคีย์ Firebase API ได้ไหม
สำหรับคีย์ Firebase API จะต้องมี API อย่างเดียวที่จำเป็นต้องอยู่บนคีย์
"การจำกัด API" คือ API ที่ไคลเอ็นต์ต้องระบุ
คีย์ API ไปพร้อมกับการเรียกใช้ โปรดทราบว่ามี API ที่เกี่ยวข้องกับ Firebase จำนวนน้อยมากที่ใช้
ข้อกำหนดในการให้บริการ API ที่เกี่ยวข้องกับ Firebase ส่วนใหญ่ที่เปิดใช้ในโปรเจ็กต์ของคุณไม่จำเป็นต้อง
ใน "การจำกัด API" ของคีย์ จากรายการที่อนุญาต
ใช้ตารางต่อไปนี้เพื่อดูว่า API ที่เกี่ยวข้องกับ Firebase ใดที่ต้องใช้
รวมอยู่ใน "ข้อจำกัด API" สำหรับคีย์ Firebase API อย่าลืมว่า
ควรใช้คีย์ Firebase API กับบริการ Firebase เท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับ
กำลังสร้าง
คีย์ API ที่แยกต่างหากและถูกจำกัดสำหรับ API บางประเภท
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
คีย์ API ที่แอปของคุณใช้เพื่อเรียก API
"ข้อจำกัดของ API"
และรายการที่อนุญาตของคีย์ไม่มี API นั้น
หากคุณได้รับข้อผิดพลาดนี้เมื่อพยายามใช้บริการที่ไม่ใช่ Firebase ให้ทำดังนี้
เราขอแนะนำให้สร้างคีย์ API ใหม่สำหรับบริการนั้นโดยเฉพาะและ
API ควรใช้คีย์ Firebase API สำหรับบริการ / ผลิตภัณฑ์ Firebase เท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง
คีย์ API ที่แยกต่างหากและถูกจำกัดสำหรับ API บางประเภท