ฟีเจอร์ของ ARCore เช่น Geospatial API และ Cloud Anchor ใช้ ARCore API ที่โฮสต์ใน Google Cloud เมื่อใช้ฟีเจอร์เหล่านี้ แอปพลิเคชันจะใช้ข้อมูลเข้าสู่ระบบเพื่อเข้าถึงบริการ ARCore API
การเริ่มต้นอย่างรวดเร็วนี้จะอธิบายวิธีตั้งค่าแอปพลิเคชันเพื่อให้สื่อสารกับบริการ ARCore API ที่โฮสต์บน Google Cloud ได้
สร้างโปรเจ็กต์ Google Cloud ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่
หากมีโปรเจ็กต์เดิม ให้เลือกโปรเจ็กต์นั้น
หากยังไม่มีโปรเจ็กต์ Google Cloud ให้สร้างโปรเจ็กต์ดังกล่าว
เปิดใช้ ARCore API
คุณต้องเปิดใช้ ARCore API ในโปรเจ็กต์
ตั้งค่าวิธีการให้สิทธิ์
แอปพลิเคชัน iOS สามารถสื่อสารกับ ARCore API ได้โดยใช้วิธีการให้สิทธิ์ 2 แบบ ได้แก่ การให้สิทธิ์คีย์แบบไม่ใช้คีย์ ซึ่งเป็นวิธีที่แนะนำและการให้สิทธิ์คีย์ API
- การให้สิทธิ์แบบไม่ใช้คีย์จะใช้โทเค็นที่ลงนามแล้วเพื่อควบคุมการเข้าถึง API วิธีนี้ต้องใช้เซิร์ฟเวอร์ที่คุณเป็นเจ้าของในการลงนามโทเค็นและควบคุมการเข้าถึง API
- คีย์ API เป็นสตริงที่ระบุโปรเจ็กต์ Google Cloud โดยทั่วไปแล้วคีย์ API จะไม่ถือว่าปลอดภัยเนื่องจากไคลเอ็นต์จะเข้าถึงได้ ลองใช้การให้สิทธิ์โทเค็นเพื่อสื่อสารกับ ARCore API
แบบไม่ใช้กุญแจ
ARCore รองรับการให้สิทธิ์การเรียก API ใน iOS โดยใช้ (JSON Web Token) โดยโทเค็นต้องลงชื่อโดย บัญชีบริการของ Google
หากต้องการสร้างโทเค็นสำหรับ iOS คุณต้องมีปลายทางในเซิร์ฟเวอร์ที่เป็นไปตามข้อกำหนดต่อไปนี้
กลไกการให้สิทธิ์ของคุณเองต้องปกป้องปลายทาง
ปลายทางจะต้องสร้างโทเค็นใหม่ทุกครั้ง ดังนี้
- ผู้ใช้แต่ละรายจะได้รับโทเค็นที่ไม่ซ้ำกัน
- โทเค็นไม่มีวันหมดอายุในทันที
สร้างบัญชีบริการและคีย์การลงชื่อ
ทำตามขั้นตอนต่อไปนี้เพื่อสร้างบัญชีบริการของ Google และคีย์ Signing
- เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud
ข้อมูลเข้าสู่ระบบ - คลิกสร้างข้อมูลเข้าสู่ระบบ > บัญชีบริการ
- ในส่วนรายละเอียดบัญชีบริการ ให้พิมพ์ชื่อของบัญชีใหม่ แล้วคลิกสร้าง
- ในหน้าสิทธิ์ของบัญชีบริการ ให้ไปที่เมนูแบบเลื่อนลงเลือกบทบาท เลือกบัญชีบริการ > ผู้สร้างโทเค็นบัญชีบริการ จากนั้นคลิกดำเนินการต่อ
- คลิกเสร็จสิ้นในหน้าให้สิทธิ์ผู้ใช้เข้าถึงบัญชีบริการนี้
- ในหน้าข้อมูลเข้าสู่ระบบ ให้ค้นหาส่วนบัญชีบริการและคลิกชื่อบัญชีที่คุณเพิ่งสร้าง
- ในหน้ารายละเอียดบัญชีบริการ ให้เลื่อนลงไปที่ส่วนคีย์และเลือกเพิ่มคีย์ > สร้างคีย์ใหม่
เลือกประเภทคีย์เป็น JSON แล้วคลิกสร้าง
ซึ่งจะดาวน์โหลดไฟล์ JSON ที่มีคีย์ส่วนตัวไปยังเครื่องของคุณ จัดเก็บไฟล์คีย์ JSON ที่ดาวน์โหลดไว้ในตำแหน่งที่ปลอดภัย
สร้างโทเค็นในเซิร์ฟเวอร์
หากต้องการสร้างโทเค็นใหม่ (JWT) บนเซิร์ฟเวอร์ ให้ใช้ไลบรารี JWT มาตรฐานและไฟล์ JSON ที่คุณดาวน์โหลดมาอย่างปลอดภัยจากบัญชีบริการใหม่
สร้างโทเค็นในเครื่องการพัฒนา
หากต้องการสร้าง JWT บนเครื่องพัฒนาซอฟต์แวร์ ให้ใช้คำสั่ง oauth2l
ต่อไปนี้
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
คุณจำเป็นต้องระบุตำแหน่งของแคชที่ว่างเปล่าโดยใช้แฟล็ก --cache
เพื่อให้แน่ใจว่ามีการสร้างโทเค็นที่แตกต่างกันในแต่ละครั้ง อย่าลืมตัด
สตริงที่เป็นผลลัพธ์ การเว้นวรรคหรืออักขระขึ้นบรรทัดใหม่จะทำให้ API ปฏิเสธโทเค็น
ลงชื่อในโทเค็น
คุณต้องใช้อัลกอริทึม RS256
และการอ้างสิทธิ์ต่อไปนี้เพื่อลงนามใน JWT
iss
— อีเมลบัญชีบริการsub
— อีเมลบัญชีบริการiat
— เวลา Unix Epoch เมื่อสร้างโทเค็น หน่วยเป็นวินาทีexp
—iat
+3600
(1 ชั่วโมง) เวลา Unix Epoch เมื่อโทเค็นหมดอายุ โดยมีหน่วยเป็นวินาทีaud
— กลุ่มเป้าหมาย ต้องตั้งค่าเป็นhttps://arcore.googleapis.com/
เพย์โหลด JWT ไม่จำเป็นต้องมีการอ้างสิทธิ์ที่ไม่เป็นมาตรฐาน แต่คุณอาจพบว่าการอ้างสิทธิ์ uid
มีประโยชน์ในการระบุผู้ใช้ที่เกี่ยวข้อง
หากคุณใช้วิธีอื่นในการสร้าง JWT เช่น การใช้ Google API ในสภาพแวดล้อมที่จัดการโดย Google โปรดอย่าลืมลงนาม JWT ด้วยการอ้างสิทธิ์ในส่วนนี้ สิ่งแรกคือ ตรวจสอบว่าผู้ชมถูกต้อง
ส่งโทเค็นในเซสชัน ARCore
ตอนนี้แอปของคุณได้รับการกำหนดค่าให้ใช้การตรวจสอบสิทธิ์แบบไม่ใช้คีย์แล้ว
โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อคุณส่งโทเค็นในเซสชัน
หากคุณใช้คีย์ API สร้างเซสชัน ARCore จะไม่สนใจโทเค็นและบันทึกข้อผิดพลาด
หากไม่จำเป็นต้องใช้คีย์ API อีกต่อไป ให้ลบคีย์ใน Google Developers Console และนำคีย์ดังกล่าวออกจากแอปของคุณ
ARCore จะไม่สนใจโทเค็นที่มีการเว้นวรรคหรือสัญลักษณ์พิเศษ
ซึ่งโดยปกติแล้วโทเค็นจะหมดอายุหลังจากผ่านไป 1 ชั่วโมง หากมีความเป็นไปได้ที่โทเค็นของคุณอาจหมดอายุในระหว่างการใช้งาน ให้ขอรับโทเค็นใหม่และส่งไปยัง API
คีย์ API
- เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud
ข้อมูลเข้าสู่ระบบ - คลิกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์ API จากเมนู
กล่องโต้ตอบการสร้างคีย์ API จะแสดงสตริงสำหรับคีย์ที่สร้างขึ้นใหม่ - ดูเอกสารประกอบเกี่ยวกับข้อจำกัดของคีย์ API เพื่อรักษาความปลอดภัยของคีย์ API
ตอนนี้แอปได้รับการกําหนดค่าให้ใช้คีย์ API แล้ว
ขั้นตอนถัดไป
เมื่อกำหนดค่าการให้สิทธิ์แล้ว โปรดตรวจสอบฟีเจอร์ ARCore ที่ใช้ฟีเจอร์ดังกล่าวต่อไปนี้