DEV Community 👩‍💻👨‍💻

Pallat Anchaleechamaikorn
Pallat Anchaleechamaikorn

Posted on

เขียน Go ต่อ Oauth ทุกค่าย

#go

ก่อนหน้านี้เคยสงสัยว่าเวลาไปเขียน Frontend มันจะมี lib ให้ไปยิง Oauth2 กับ Facebook ง่ายๆเลย แล้วถ้าจะเขียนด้วย Go มันจะมี lib ง่ายๆแบบนั้นบ้างไหม

วันนี้ก็หาเจอละครับ มันคือเจ้าตัวนี้ github.com/markbates/goth

โดยในหน้า git จะมีบอกว่ามี example ให้ดูด้วยนะ https://github.com/markbates/goth/blob/v1.68.0/examples

พอเปิดเข้าไปดู โอ้โห ตัวอย่างมันต่อทุกค่ายเลย ผมก็เลยทดลอง Facebook โดยวิธีลองก็แสนจะง่าย ก็ copy เจ้า example มาทั้งไฟล์เลย ซึ่งมันมีแค่ไฟล์เดียวคือ main.go

จากนั้น สิ่งที่มันต้องการก็คือ Facebook App ID กับ App Secret โดยให้เอาไปใส่ในค่า env แบบนี้

FACEBOOK_KEY={Facebook App ID}
FACEBOOK_SECRET={App Secret}
SESSION_SECRET=123
Enter fullscreen mode Exit fullscreen mode

ค่า SESSION_SECRET ใส่อะไรลงไปก็ได้
ส่วนที่หน้า Facebook for Developers ก็ให้ตรวจสอบค่า

App Authentication ว่าอย่าให้มันเป็น Native or desktop app?

จากนั้นก็

go run main.go
Enter fullscreen mode Exit fullscreen mode

เสร็จแล้วมันจะ serve ที่ port :3000 บนเครื่องเรา ก็ทดลองเปิด

http://localhost:3000

จากนั้นก็ไปลองกด Login with Facebook ดูโลด

จบการทดลอง

Top comments (0)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.