ตั้งค่า Google Cloud Storage เป็นที่เก็บไฟล์ของ Logto
คู่มือปฏิบัติเพื่อตั้งค่า Google Cloud Storage เป็นที่เก็บไฟล์ของ Logto
ตามค่าเริ่มต้น Logto Console ใช้ช่องข้อความสำหรับ URL ไฟล์สแตติก เช่น อวตาร เพื่อให้สามารถอัปโหลดไฟล์อย่างสะดวกด้วยการลากและวาง คุณต้องตั้งค่าผู้ให้บริการเก็บข้อมูล
บทความนี้ให้คำแนะนำทีละขั้นตอนในการตั้งค่า Google Cloud Storage เป็นผู้ให้บริการเก็บข้อมูลของคุณ
ข้อกำหนดเบื้องต้น
- อินสแตนซ์ของ Logto ที่รันโดยธรรมชาติใน Node.js หรือใน Docker container หากคุณไม่มีให้ดูคู่มือนี้: https://docs.logto.io/docs/tutorials/get-started/#local
- โปรเจคของ Google Cloud
การเตรียมบัคเก็ต
การสร้างบัคเก็ตเป็นเรื่องง่าย อ้างอิงจากเอกสารอย่างเป็นทางการของ Google Cloud: https://cloud.google.com/storage/docs/creating-buckets
เมื่อบัคเก็ตพร้อม ขั้นตอนต่อไปคือการตั้งค่าให้ดูได้สาธารณะ ทำดังนี้:
- ใน Google Cloud console, ไปที่หน้า Buckets ของ Cloud Storage
- จากรายการบัคเก็ต คลิกชื่อบัคเก็ตที่คุณต้องการให้เป็นสาธารณะ
- เลือกแท็บ Permissions ใกล้กับด้านบนของหน้า
- ในส่วน Permissions คลิกปุ่ม Grant access
- ในช่อง New principals ให้ป้อน
allUsers
- ในดรอปดาวน์ Select a role ให้พิมพ์ Storage Object Viewer ในกล่องกรองและเลือก Storage Object Viewer จากผลลัพธ์ที่กรอง
- คลิก Save
- คลิก Allow public access
ให้แน่ใจว่าบทบาท "Storage Object Viewer" ถูกตั้งค่า นี่คือสกรีนช็อตเพื่อเป็นการอ้างอิง:
การรับไฟล์คีย์
Google Cloud SDKs มักจะใช้ "ไฟล์คีย์" หากคุณไม่คุ้นเคยกับ Google Cloud นี่อาจจะเป็นส่วนที่ท้าทายที่สุด ทำดังนี้:
- ไปที่หน้า service account: https://console.cloud.google.com/iam-admin/serviceaccounts
- สร้างบัญชี, ป้อนชื่อ, จากนั้นดำเนินการต่อ
- ในขั้นตอนถัดไป, เลือกบทบาท "Storage Object User" คุณสามารถหาได้โดยใช้การกรอง
- เมื่อคุณสร้างบัญชีเสร็จแล้ว ไปที่หน้ารายละเอียดบัญชีและเลือกแท็บ "keys"
- คลิก “add key”, เลือก “create a new key”, เลือก “json” ในกล่องสนทนา, แล้วดาวน์โหลดไฟล์ json ของคุณ
การเพิ่มไฟล์คีย์ให้กับ Logto
Logto ควรมีการเข้าถึงไฟล์คีย์
การรันใน Node.js
คัดลอกไฟล์ไปที่ /path/to/logto/core
และเปลี่ยนชื่อเป็น google-storage-key.json
การรันใน Docker Container
หากคุณรัน Logto ใน Docker container คุณต้องเมาท์ไฟล์ไปยัง container โดยใช้ Docker Compose ให้คุณเพิ่มสิ่งนี้ในการกำหนดค่าของคุณ:
อย่าลืมแทนที่ /path/to
ด้วยพาธจริง
การอัปเดตการกำหนดค่าผู้ให้บริการ
เราจะใช้ CLI ของ Logto เพื่ออัปเดตการกำหนดค่าผู้ให้บริการ โดยปกติ CLI จะใช้ได้ในโฟลเดอร์รากของอินสแตนซ์ Logto เพื่อเรียนรู้เพิ่มเติม ตรวจสอบลิงค์นี้: https://docs.logto.io/docs/references/using-cli/
การเตรียม JSON
นี่คือตัวอย่างการกำหนดค่า JSON:
อย่าลืมแทนที่ projectId
และ bucketName
ด้วยค่าของคุณ
การอัปเดตผ่าน CLI
แปลง JSON เป็นสตริงและรันคำสั่งต่อไปนี้:
การทดสอบการตั้งค่า
ตอนนี้ทุกอย่างตั้งค่าเสร็จแล้ว อย่าลืมรีสตาร์ท Logto และลองใช้ คุณสามารถไปที่ส่วน "ประสบการณ์การลงชื่อเข้า" และลองอัปโหลดโลโก้
ถ้าคุณพบว่าขั้นตอนเหล่านี้ซับซ้อน ให้พิจารณาใช้เวอร์ชันคลาวด์ของ Logto เราจัดการทุกอย่างให้คุณ!