รหัสลับไคลเอ็นต์

ไลบรารีของไคลเอ็นต์ 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 ใน 2 ประเภทต่อไปนี้

  • 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 ก็จะง่ายขึ้นและมีแนวโน้มที่จะเกิดข้อผิดพลาดน้อยลง