ดูและจัดการคีย์ API สำหรับ Firebase
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
คีย์ API คือสตริงที่ไม่ซ้ำกันซึ่งใช้เพื่อกำหนดเส้นทางคำขอไปยังโปรเจ็กต์ Firebase เมื่อโต้ตอบกับบริการของ Firebase และ Google หน้านี้อธิบายข้อมูลพื้นฐานเกี่ยวกับคีย์ API รวมถึงแนวทางปฏิบัติแนะนำในการใช้และจัดการคีย์ API กับแอป Firebase
หากคุณได้รับอีเมลจาก Google Cloud เกี่ยวกับ "คีย์ Google API ที่เข้าถึงได้แบบสาธารณะสำหรับโปรเจ็กต์ Google Cloud" และคีย์ API ที่ระบุไว้ในอีเมลคือคีย์ Firebase API โปรดตรวจสอบว่าคีย์ API เป็นไปตามข้อกำหนดต่อไปนี้เพื่อให้ปลอดภัยในการรวมไว้ในโค้ดหรือไฟล์การกำหนดค่า คุณสามารถยืนยันข้อมูลต่อไปนี้ได้ในหน้า API และบริการ > ข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud
คีย์ API คือคีย์ที่คุณใช้สำหรับแอป Firebase และใช้เฉพาะกับบริการ Firebase เท่านั้น คีย์เหล่านี้มักเรียกว่า Browser key (auto created by Firebase), Android key (auto created by Firebase) หรือ iOS key (auto created by Firebase)
เว็บแอป Firebase - ค้นหาคีย์ API ที่จับคู่อัตโนมัติในออบเจ็กต์การกำหนดค่า Firebase ในช่อง apiKey
การใช้คีย์ API
คีย์ API สำหรับ Firebase ใช้เพื่อระบุโปรเจ็กต์ Firebase เมื่อโต้ตอบกับบริการ Firebase หรือ Google โดยเฉพาะอย่างยิ่ง คีย์เหล่านี้ใช้เพื่อเชื่อมโยงคำขอ API กับโปรเจ็กต์ของคุณสำหรับโควต้าและการเรียกเก็บเงิน นอกจากนี้ยังเป็นประโยชน์สำหรับการเข้าถึงข้อมูลสาธารณะด้วย
สำหรับนักพัฒนาแอปและกรณีการใช้งานส่วนใหญ่ คุณจะไม่โต้ตอบกับคีย์ API เหล่านี้โดยตรง แต่เมื่อแอปเรียกใช้ Firebase API ที่ต้องใช้คีย์ API ที่ไคลเอ็นต์อุปกรณ์เคลื่อนที่หรือเว็บจัดเตรียมไว้ แอปจะค้นหาคีย์ API ในการกำหนดค่า Firebase ของแอปโดยอัตโนมัติ ระบบเพิ่มการกำหนดค่านี้ลงในฐานของโค้ดของแอปเมื่อคุณเชื่อมต่อแอปกับ Firebase
โปรดทราบว่าคุณสามารถระบุคีย์ API ของแอปภายในแอปโดยใช้กลไกอื่นได้ เช่น ตัวเลือก Firebase หรือการใช้ตัวแปรสภาพแวดล้อม
นอกจากนี้ สำหรับ REST API บางรายการของบริการ Firebase คุณอาจต้องส่งค่าของคีย์ API ไปยังการเรียกอย่างชัดแจ้งเป็นพารามิเตอร์การค้นหา
ตัวอย่างนี้แสดงวิธีส่งคำขอโดยใช้ Firebase Authentication API
สำหรับคีย์ API ทั้งหมดในโปรเจ็กต์ คุณต้องตรวจสอบว่าคีย์เหล่านั้นมีข้อจำกัดและขีดจำกัด API ที่เหมาะสมตามที่อธิบายไว้ในส่วนนี้
ตรวจสอบ 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 ที่ใช้กับ API อื่นๆ ของ Google Cloud
หากคุณใช้ Google Cloud API (ในแพลตฟอร์มใดก็ตาม) ที่ไม่ได้มีไว้สำหรับบริการ/ผลิตภัณฑ์ Firebase เราขอแนะนำอย่างยิ่งให้สร้างคีย์ API ที่จำกัดแยกต่างหากเพื่อใช้กับ API เหล่านั้น ซึ่งเป็นสิ่งสำคัญอย่างยิ่งหาก API มีไว้สำหรับบริการ Google Cloud ที่เรียกเก็บเงินได้ โดยเฉพาะอย่างยิ่ง อย่าใส่ Gemini Developer API ในรายการที่อนุญาตสำหรับคีย์ API ที่เข้าถึงได้แบบสาธารณะหรือคีย์ที่ใช้สำหรับบริการอื่นๆ
การใช้คีย์ API ที่แยกต่างหากและถูกจำกัดสำหรับ API ที่ไม่ใช่ Firebase จะช่วยให้คุณหมุนเวียนหรือเปลี่ยนคีย์ได้เมื่อจำเป็น และเพิ่มข้อจำกัดเพิ่มเติมให้กับคีย์ API โดยไม่รบกวนการใช้บริการ Firebase
ดูวิธีการสร้างคีย์เฉพาะ API
วิธีการเหล่านี้อธิบายวิธีสร้างคีย์ API ที่จำกัดและแยกต่างหากสำหรับ API ปลอมที่ชื่อ Super Service API
ขั้นตอนที่ 1: กำหนดค่าคีย์ API ที่มีอยู่เพื่อไม่อนุญาตให้เข้าถึง Super Service API
ในคอนโซล Google Cloud ให้ไปที่หน้า API และบริการ > ข้อมูลเข้าสู่ระบบ
หากได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์
เปิดหน้าจอสำหรับแก้ไขสำหรับคีย์ 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 อยู่
คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API จดคีย์ API ใหม่ แล้วคลิกจำกัดคีย์
ในส่วนข้อจำกัดของ API ให้เลือกจำกัดคีย์ แล้วเพิ่ม Super Service API ลงในรายการเท่านั้น
คีย์ API ใหม่นี้ให้สิทธิ์เข้าถึงเฉพาะ Super Service API เท่านั้น
หากต้องการลดปัญหาในการโปรโมตการเปลี่ยนแปลงโค้ดจากการพัฒนาไปสู่การทดลองใช้จริงและการใช้งานจริง แทนที่จะรวมคีย์ API ไว้ในโค้ด ให้ตั้งค่าเป็นตัวแปรสภาพแวดล้อมหรือรวมไว้ในไฟล์การกำหนดค่า
คำถามที่พบบ่อยและการแก้ปัญหา
คำถามที่พบบ่อย
คีย์ API สำหรับบริการ Firebase ถูกจำกัดโดยค่าเริ่มต้นหรือไม่
ใช่ โดยค่าเริ่มต้น คีย์ API ทั้งหมดที่ Firebase จัดสรรให้อัตโนมัติเพื่อใช้กับ API ที่เกี่ยวข้องกับ Firebase จะมี "ข้อจำกัดของ API" ที่ใช้โดยอัตโนมัติ ดูรายการ API ที่เกี่ยวข้องกับ Firebase ซึ่งอยู่ในรายการที่อนุญาตนี้
API ที่เพิ่มลงในรายการที่อนุญาตนี้คือ API ที่บริการ Firebase เรียกใช้จากโค้ดฝั่งไคลเอ็นต์ และต้องใช้คีย์ API เพื่อระบุโปรเจ็กต์หรือแอป Firebase โปรดทราบว่า API ส่วนใหญ่ที่จำเป็นสำหรับการใช้บริการ Firebase ไม่จำเป็นต้องอยู่ในรายการที่อนุญาตสำหรับคีย์ API ของคุณ
เนื่องจาก Firebase เพิ่ม API ที่จำเป็นสำหรับบริการ Firebase ทั้งหมด รายการที่อนุญาตสำหรับคีย์ API จึงอาจรวม API สำหรับผลิตภัณฑ์ที่คุณไม่ได้ใช้ด้วย คุณสามารถนำ API ออกจากรายการที่อนุญาตได้ แต่ต้องระมัดระวังอย่างยิ่งที่จะไม่นำ API ที่จำเป็นสำหรับ Firebase และบริการ Firebase ที่คุณใช้ออก (ดูรายการ API ที่เกี่ยวข้องกับ Firebase ที่ต้องอยู่ในรายการที่อนุญาตสำหรับแต่ละบริการ/ผลิตภัณฑ์) ไม่เช่นนั้น คุณจะได้รับข้อผิดพลาดเมื่อเรียกใช้บริการ Firebase
คุณดูคีย์ API ทั้งหมดและ "ข้อจำกัดของ API" ได้ในหน้าAPI และบริการ > ข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud
ตั้งแต่เดือนพฤษภาคม 2024 เป็นต้นไป คีย์ API ใหม่ทั้งหมดที่ Firebase จัดสรรให้อัตโนมัติจะถูกจำกัดไว้เฉพาะรายการ API ที่เกี่ยวข้องกับ Firebase โดยอัตโนมัติ
ในเดือนพฤษภาคม 2024 คีย์ API ที่มีอยู่และไม่จำกัดทั้งหมดที่ Firebase ได้จัดสรรให้อัตโนมัติก่อนหน้านี้จะถูกจำกัดไว้ในรายการ API ที่เกี่ยวข้องกับ Firebaseรวมถึง API ที่เปิดใช้อยู่ในปัจจุบันของโปรเจ็กต์
คีย์ API ที่มีอยู่และถูกจำกัดแล้วซึ่ง Firebase ได้จัดสรรให้อัตโนมัติก่อนหน้านี้จะไม่มีการเปลี่ยนแปลง
คีย์ API ที่มีอยู่ซึ่งไม่ได้จัดสรรโดยอัตโนมัติโดย Firebase จะไม่มีการเปลี่ยนแปลง
ฉันจะทราบได้อย่างไรว่าคีย์ API ใดเชื่อมโยงกับแอป Firebase ของฉัน
คุณสามารถใช้ตัวเลือกใดก็ได้ต่อไปนี้เพื่อระบุคีย์ API ที่เชื่อมโยงกับแอป Firebase
เว็บแอป Firebase - แต่ละแอปมีออบเจ็กต์การกำหนดค่าของตัวเองและมีคีย์ API ที่ระบุได้เพียงคีย์เดียว
แต่คุณสามารถใช้คีย์ 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" สำหรับคีย์ API ของ Firebase โปรดทราบว่าคุณควรใช้คีย์ Firebase API กับบริการ Firebase เท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคีย์ API ที่แยกต่างหากและถูกจำกัดสำหรับ API บางประเภท
คุณสามารถดูและจัดการคีย์ API ของโปรเจ็กต์ได้ในหน้า API และบริการ > ข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud
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 นั้นโดยเฉพาะ คุณควรใช้คีย์ API ของ Firebase กับบริการ/ผลิตภัณฑ์ Firebase เท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคีย์ API ที่จำกัดและแยกต่างหากสำหรับ API บางประเภท