Github เป็น source control หรือแหล่งเก็บรวม source code ที่ใหญ่เป็นเบอร์ต้นๆของโลก มีนักพัฒนาซอฟแวร์มากมายเลือกที่จะเก็บข้อมูลชุดคำสั่งของโปรแกรมเอาไว้ที่เว็บไซต์นี้ ตั้งแต่ Microsoft ซื้อไปเมื่อหลายปีก่อน ทาง Github ก็มีการเปลี่ยนแปลงการให้บริการหลายอย่างรวมไปถึงสิ่งที่จะเขียนในบทความนี้คือ Github ไม่สามารถล็อคอินด้วยรหัสผ่าน (password) ธรรมดาได้แล้ว และได้เปลี่ยนไปใช้การเข้าสู่ระบบหรือทำกิจกรรมต่างๆบนแพลตฟอร์มด้วย token ของนักพัฒนาเท่านั้น
การเปลี่ยนแปลงครั้งนี้ทำให้หลายคนไม่สามารถ pull/push ข้อมูลชุดคำสั่งของตัวเองมาได้อีก ในบทความนี้เลยอยากจะเขียนวิธีการแก้ไขเปลี่ยนจากการใช้รหัสผ่านไปใช้ personal token ให้เราสามารถทำงานได้เหมือนเดิมครับ ใช้เวลาทำไม่ถึง 5 นาทีก็เสร็จแล้ว เลยอยากจะเขียนเก็บไว้เผื่อวันหลังต้องกลับมาแก้ไขเหมือนกัน
เริ่มแรกเข้าไปที่เว็บไซต์ github.com แล้วกดที่มุมขวาบนที่เป็นรูปโปรไฟล์ของตัวเอง จากนั้นเลือกเมนู Settings
![github password to token](https://www.jir4yu.me/wp-content/uploads/2021/08/github-password-to-token-1024x406.jpg)
แล้วเลือกที่เมนู Developer Settings ด้านล่าง
![developer settings](https://www.jir4yu.me/wp-content/uploads/2021/08/developer-settings-github.jpg)
แล้วเลือกเมนู Personal access tokens ครับ เราจะสร้าง token ใหม่สำหรับใช้เข้าสู่ระบบรวมถึงการ push/pull ต่างๆ ด้วยในอนาคต เมื่อเข้ามาแล้วให้กดปุ่ม Generate new token เพื่อเข้าไปหน้าสร้าง token
![personal access tokens and generate](https://www.jir4yu.me/wp-content/uploads/2021/08/personal-access-tokens-1024x375.jpg)
token ที่สร้างขึ้นนี้สามารถกำหนดสิทธิ์ได้ครอบคลุมหลายอย่าง เราอาจจะสร้าง token สำหรับใช้ deploy ชุดคำสั่งเท่านั้น หรือสร้าง token ให้กับคู่ค้าเข้ามาตรวจสอบความเรียบร้อย สร้าง token สำหรับใช้ทำ CI/CD เฉพาะบางโปรเจคเท่านั้นก็ทำได้ ขึ้นอยู่กับการเลือกให้สิทธิ์ (scopes) ในหน้า New personal access token นี้เลย
สิ่งที่ต้องเลือกในหน้านี้คือ Expiration หรือระยะเวลาที่ token นี้มีอายุการใช้งาน บางคนอาจจะตั้งไว้เดือนนึง หรือน้อยหรือมากกว่านั้น สำหรับคนที่ใช้พัฒนาโปรแกรมทำงานส่วนตัวในเครื่องตัวเอง ให้เลือก no expiration แบบผมก็ค่อนข้างสะดวกครับ ไม่ต้องมาสร้างใหม่บ่อยๆ
![](https://www.jir4yu.me/wp-content/uploads/2021/08/generate-new-github-token-1024x522.jpg)
เลือกทุกอย่างได้แล้วก็เลื่อนลงมากดปุ่ม Generate token ได้เลย
![สร้าง token ใหม่ github](https://www.jir4yu.me/wp-content/uploads/2021/08/generate-new-token-github-1024x422.png)
หลังจากนั้นเว็บไซต์จะแสดง token ที่สร้างเรียบร้อยให้เรานำไปใช้งานครับ แนะนำว่าควรบันทึกเก็บไว้ที่ไหนสักที่เพราะเราจะได้ใช้ token นี้เข้าสู่ระบบและเชื่อมต่อกับบริการของ github ต่อไปหลังจากนี้
![](https://www.jir4yu.me/wp-content/uploads/2021/08/token-github-2021-1024x492.jpg)
จากนั้นให้เปิด Keychian Access (สำหรับคนใช้ MacOSX) วิธีการเข้าที่ง่ายที่สุดคือผ่าน Spotlight ครับ พิมพ์ค้นหาแล้วดับเบิ้ลคลิกเข้าไปเลย เมื่อเข้ามาแล้วให้คลิกที่ All Items ตามลูกศรสีแดง จากนั้นในกล่องค้นหาให้พิมพ์คำว่า github เพื่อค้นหา key ที่แสดงประเภทแบบ Internet Password
![แก้ไข keychain access - github](https://www.jir4yu.me/wp-content/uploads/2021/08/keychain-access.jpg)
ดับเบิ้ลคลิกเพื่อเข้าไปแก้ไข
![](https://www.jir4yu.me/wp-content/uploads/2021/08/personal-token-github.jpg)
ในช่อง Password ด้านล่างสุดให้คลิกที่ Show password แล้วนำ token ที่ได้จากเว็บไซต์ github.com เมื่อสักครู่มาใส่ตรงช่องนี้ จากนั้นกด Save changes แค่นี้เราก็สามารถทำงานได้ตามปกติแล้วครับ