การตั้งค่า Github OAuth 2.0 (Client ID และ Client Secret)

รวม OAuth GitHub: สร้างแอป, ขออนุญาต, รับโทเค็น เข้าใจ OAuth ก่อน

อาชว์

อาชว์

4 June 2025

การตั้งค่า Github OAuth 2.0 (Client ID และ Client Secret)

```html

OAuth 2.0 Authorization Code Grant เป็นวิธีการตรวจสอบสิทธิ์ทั่วไปที่ใช้โดยบริการมากมาย รวมถึง GitHub เพื่อให้แอปพลิเคชันของบุคคลที่สามเข้าถึงข้อมูลผู้ใช้ได้โดยไม่ต้องแชร์รหัสผ่าน การนำไปใช้และการแก้ไขข้อบกพร่องใน Apidog อาจเป็นทักษะที่มีค่า

OAuth 2.0

OAuth 2.0 เป็นโปรโตคอลการให้สิทธิ์ที่ใช้กันอย่างแพร่หลาย ซึ่งช่วยให้บุคคลที่สามเข้าถึงทรัพยากรที่ได้รับการป้องกันได้โดยไม่ต้องใช้ข้อมูลประจำตัวของผู้ใช้ เกี่ยวข้องกับบทบาทหลักสี่ประการ ได้แก่ เจ้าของทรัพยากร ไคลเอนต์ เซิร์ฟเวอร์การให้สิทธิ์ และเซิร์ฟเวอร์ทรัพยากร

ขั้นตอนการให้สิทธิ์ทั่วไป

โปรโตคอล OAuth 2.0 ใช้การให้สิทธิ์ผ่านขั้นตอนการให้สิทธิ์ต่างๆ ขั้นตอนการให้สิทธิ์ทั่วไป ได้แก่:

วิธีตั้งค่า Github OAuth 2.0 (Client ID และ Client Secret)

ขั้นตอนที่ 1: สร้างแอปและรับ Client ID และ Client Secret

ในการรับ Client ID และ Client Key เราต้องสร้างแอปพลิเคชันก่อน คลิกที่ลิงก์นี้เพื่อสร้างแอปพลิเคชันใน Github: https://github.com/settings/applications/new จากนั้นกรอก "Homepage URL" ของคุณที่นี่ ชื่อโดเมน หากเป็นการแก้ไขข้อบกพร่องในเครื่อง คุณสามารถกรอกบริการในเครื่องของคุณ เช่น http://127.0.0.1:8000

กรอกที่อยู่การเรียกกลับของคุณใน "Authorization callback URL" ซึ่งอาจเป็นชื่อโดเมนของคุณหรือที่อยู่การเรียกกลับในเครื่องของคุณ เช่น http://127.0.0.1:8000/callback

หลังจากกรอกการกำหนดค่าที่เกี่ยวข้องแล้ว ให้คลิก "Register application" เพื่อสร้าง

create an application

หลังจากสร้างแอปพลิเคชันแล้ว Client ID และ Client Secret จะถูกสร้างขึ้น Client Key จำเป็นต้องสร้างแยกต่างหาก คลิก "Generate a new client secret" เพื่อสร้าง Key

client ID

ขั้นตอนที่ 2: รับ access token

เมื่อขั้นตอนแรกข้างต้นพร้อมแล้ว เราสามารถขอ access token (Token) ได้ เราจะสาธิตขั้นตอนนี้ผ่าน Apidog Apidog เป็นเครื่องมือแก้ไขข้อบกพร่องและการจัดการ API ที่ยอดเยี่ยมมาก

คุณสามารถรับ access token ได้โดยตรงใน Apidog หากคุณยังไม่ได้ติดตั้ง Apidog ให้ไปดาวน์โหลดเลย!

button
  1. สร้างโปรเจกต์ HTTP ใหม่ใน Apidog และเปิด จากนั้นสร้างคำขอใหม่ในโปรเจกต์และเลือก [Modify Document -> Auth -> OAuth 2.0 -> option
OAuth 2.0

2. กำหนดค่า Client ID, Client Key และที่อยู่เปลี่ยนเส้นทาง
โหมดการให้สิทธิ์เริ่มต้นที่เลือกในหน้า OAuth 2.0 ใน Apifdog คือ Authorization Code (โหมดรหัสการให้สิทธิ์)

เนื่องจาก Github OAuth 2.0 ยังใช้ Authorization Code (โหมดรหัสการให้สิทธิ์) คุณจึงไม่จำเป็นต้องสลับที่นี่

Authorization Code

จากนั้นค้นหา Client ID, Client Secret และ Callback URL ที่ด้านล่างของหน้า Client ID (Client ID), Client Secret (Client Secret) และที่อยู่การเรียกกลับที่กำหนดค่าไว้ (Callback URL) จะได้รับจากบริการ OAuth 2.0 ของ Github

เพียงแค่กรอกลงไป พารามิเตอร์เฉพาะคือการกำหนดค่าใน "ขั้นตอนที่ 1" ด้านบน

Callback URL

3. กำหนดค่าที่อยู่คำขอของรหัสการให้สิทธิ์
ตามเอกสารอย่างเป็นทางการของ Github เมื่อทำการตรวจสอบสิทธิ์ OAuth 2.0 ที่อยู่คำขอ (Auth URL) ของรหัสการให้สิทธิ์คือ:
https://github.com/login/oauth/authorize
เพียงกรอกที่อยู่คำขอของรหัสการให้สิทธิ์นี้ลงใน Auth URL เราสามารถเข้าใจที่อยู่นี้ว่าเป็นหน้าการให้สิทธิ์การเข้าสู่ระบบ

หน้านี้จะเปิดขึ้นเมื่อสถานะการเข้าสู่ระบบได้รับการยืนยันเป็นครั้งแรก (เป็นหน้าต่างบนไคลเอนต์) จากนั้นคุณจะถูกขอให้กรอกชื่อผู้ใช้และรหัสผ่าน

โดยทั่วไป เมื่อสร้างหน้าการให้สิทธิ์การเข้าสู่ระบบด้วยตนเอง จำเป็นต้องมีพารามิเตอร์บางอย่างหลังจากที่อยู่การให้สิทธิ์

อย่างไรก็ตาม ใน Apidog พารามิเตอร์หลังจาก URL โดยทั่วไปไม่จำเป็นต้องมี เพียงแค่เส้นทางด้านหน้าเครื่องหมายคำถาม? ก็เพียงพอแล้ว เนื่องจากส่วนอื่นๆ จำเป็นต้องใช้ พารามิเตอร์ได้รับการกำหนดค่าแยกต่างหากในตัวเลือกอื่นๆ

แน่นอน หากคุณต้องการพกพารามิเตอร์ Query คุณสามารถเพิ่มได้เช่นกัน คลิกที่ไอคอนหลังช่องป้อนข้อมูลเพื่อเพิ่ม:

Query params

เรายังสามารถขยายตัวเลือก "เพิ่มเติม" และกรอกค่าพารามิเตอร์ที่จำเป็นต้องกรอกลงในตัวเลือกที่เกี่ยวข้อง ตัวอย่างเช่น ใน "Scope" คุณสามารถกรอกสิทธิ์ที่จำเป็น เช่น read:user, user:email เป็นต้น

คุณสามารถมีสิทธิ์เพิ่มเติมสำหรับอื่นๆ คุณสามารถเข้าชมโมดูลสิทธิ์ของเอกสารช่วยเหลือ Github เพื่อดูได้ กรอก state ในตัวเลือก "State" State คือการป้องกันการปลอมแปลงคำขอข้ามไซต์

4. กำหนดค่าที่อยู่คำขอของ access token
ตามเอกสารอย่างเป็นทางการของ Github ในการขอ access token URL ที่ร้องขอคือ:
https://github.com/login/oauth/access_token
เพียงกรอกที่อยู่ด้านบนลงในช่องป้อนข้อมูล Access Token URL ของหน้า OAuth 2.0 ของ Apidog

5. รับ access token สำหรับบริการ Github OAuth 2.0
หลังจากตั้งค่ารายการการกำหนดค่าข้างต้นแล้ว คุณสามารถคลิกปุ่ม "Get Token" เพื่อรับ access token

หลังจากคลิก หากนี่เป็นครั้งแรกที่คุณเข้าสู่ระบบ หน้าต่างจะปรากฏขึ้นเพื่อให้คุณให้สิทธิ์ เพียงกรอกชื่อผู้ใช้และรหัสผ่านของบัญชี Github ของคุณ

หลังจากกรอกชื่อผู้ใช้และรหัสผ่านแล้ว คุณจะถูกขอให้ยืนยันการให้สิทธิ์หรือทำการยืนยันสองขั้นตอน หลังจากยืนยันแล้ว ให้คลิกยืนยัน

หลังจากเสร็จสิ้นการให้สิทธิ์ access token จะถูกรับและแสดงบนหน้าโดยอัตโนมัติ ในเวลาเดียวกัน ข้อมูลอื่นๆ ที่ส่งคืนโดย Github จะถูกแยกวิเคราะห์ด้วย ดังแสดงในรูปด้านล่าง "หมดอายุ" จะแสดงที่นี่เนื่องจาก Github ไม่ได้ส่งคืนแอตทริบิวต์ expires_in ให้เรา ดังนั้นเราจึงไม่สามารถตัดสินได้ อย่างไรก็ตาม Token นี้ใช้งานได้ มาเริ่มคำขอด้านล่างกัน

ขั้นตอนที่ 3: เข้าถึงทรัพยากรแบบเปิดตาม Token

หลังจากที่คุณมี access token (Token) แล้ว คุณสามารถใช้ access token นี้เพื่อเรียกใช้ทรัพยากรแบบเปิดของ Github คุณสามารถดูทรัพยากรแบบเปิดเฉพาะใน Github API

ตัวอย่างเช่น API ต่อไปนี้จะได้รับข้อมูลผู้ใช้ หากอินเทอร์เฟซของคุณไม่ส่งคืน คุณต้องตรวจสอบว่าคุณมีสิทธิ์หรือไม่ ดังที่กล่าวไว้ในส่วนที่ 3 ของ "ขั้นตอนที่ 2" เพียงแค่กำหนดค่าใน Scope

เมื่อส่งคำขอ Apidog จะผนวก Token เข้ากับ Authorization ของส่วนหัวคำขอโดยอัตโนมัติ เพิ่มลงใน Bearer และส่งออกไป หากคุณต้องการพกพา Token ใน URL คุณยังสามารถแก้ไข "Add Location" ของ Token ในรายการการกำหนดค่าของหน้าและเลือก "Query Params"

สรุป

OAuth 2.0 เป็นกรอบการให้สิทธิ์ที่ช่วยให้แอปพลิเคชันของบุคคลที่สามได้รับ access token โดยไม่ต้องให้ผู้ใช้ระบุชื่อผู้ใช้และรหัสผ่าน กระบวนการให้สิทธิ์ที่ใช้โดย GitHub คือ "กระบวนการให้สิทธิ์รหัสการให้สิทธิ์" และกระบวนการให้สิทธิ์สามารถแก้ไขข้อบกพร่องและกำหนดค่าได้ใน Apidog

button

```

Explore more

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

เรียนรู้วิธีรัน Mistral Small 3.1 (AI โอเพนซอร์ส) บนเครื่องคุณเองด้วย Ollama คู่มือนี้ง่าย ครอบคลุมการติดตั้ง, การใช้งาน, และเคล็ดลับ

19 March 2025

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

ค้นพบ NDJSON: สตรีมข้อมูลผ่าน HTTP อย่างมีประสิทธิภาพ! คู่มือนี้อธิบายพื้นฐาน, ข้อดีเหนือ JSON, และวิธี Apidog ช่วยทดสอบ/แก้จุดบกพร่อง endpoint สตรีมมิ่ง

18 March 2025

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

ในบทความนี้ เราจะคุยเรื่องนำเข้า/ส่งออก Postman และวิธีแก้ปัญหาที่ยืดหยุ่นกว่า ไม่จำกัดจำนวนครั้ง

18 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API