ไลบรารีของไคลเอ็นต์ Google APIs สําหรับ .NET ใช้ไฟล์ client_secrets.json
สําหรับจัดเก็บพารามิเตอร์ client_id
, client_secret
และพารามิเตอร์ OAuth 2.0 อื่นๆ
ไฟล์ client_secrets.json
คือไฟล์ในรูปแบบ JSON ที่มีรหัสไคลเอ็นต์ รหัสลับไคลเอ็นต์ และพารามิเตอร์ OAuth 2.0 อื่นๆ
ต่อไปนี้คือตัวอย่างไฟล์ client_secrets.json
สําหรับเว็บแอปพลิเคชัน
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
ต่อไปนี้คือตัวอย่างไฟล์ client_secrets.json
สําหรับแอปพลิเคชันที่ติดตั้งไว้
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
รูปแบบจะระบุรหัสไคลเอ็นต์เพียง 1 ประเภท ได้แก่
web
: เว็บแอปพลิเคชันinstalled
: แอปพลิเคชันที่ติดตั้ง
ออบเจ็กต์ย่อย web
และ installed
มีสมาชิกที่จําเป็นต่อไปนี้
-
client_id
(สตริง): รหัสไคลเอ็นต์ -
client_secret
(สตริง): รหัสลับไคลเอ็นต์
สมาชิกคนอื่นๆ ทั้งหมดของไฟล์นี้เป็นแบบไม่บังคับและไลบรารีของไคลเอ็นต์ .NET จะไม่ใช้
แรงจูงใจ
แต่เดิมผู้ให้บริการปลายทาง OAuth 2.0 คาดหวังว่าผู้ที่ใช้บริการจะคัดลอกและวางรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์จากหน้าการลงทะเบียนลงในโค้ดการทํางานได้
วิธีการนี้เกิดข้อผิดพลาดได้ง่ายและแสดงภาพข้อมูลที่จําเป็นต่อการใช้งาน OAuth 2.0 ที่ไม่สมบูรณ์
(OAuth 2.0 กําหนดให้ทราบปลายทางทั้งหมดและกําหนดค่า URI การเปลี่ยนเส้นทางด้วย)
หากผู้ให้บริการมีไฟล์ client_secrets.json
ที่ดาวน์โหลดได้ และไลบรารีของไคลเอ็นต์ก็เตรียมพร้อมสําหรับการใช้ไฟล์เหล่านี้ การใช้ OAuth 2.0 จึงมีแนวโน้มที่จะเกิดข้อผิดพลาดและเกิดขึ้นได้ง่ายกว่า