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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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