วิธีทำ-LINE-Login-เข้าสู่ระบบด้วย-Line

LINE Login API คือการเข้าสู่ระบบหรือสมัครสมาชิกแบบ SSO ( Single Sign On ) ความหมายคือการใช้ข้อมูลเดียวกันกับแพลตฟอร์มใด แพลตฟอร์มหนึ่งในการลงทะเบียนใช้งาน ในตัวอย่างนี้ก็คือการใช้ Line Account ในการเข้าสู่ระบบหรือสมัครสมาชิกเข้าใช้งานซอฟต์แวร์อื่น

ในเวอร์ชั่นก่อนหน้านี้ของ LINE Login API อาจจะยังไม่ได้รับความนิยมมากนัก เพราะข้อมูล JSON ที่ Response กลับมาจะได้ข้อมูลที่จำเป็นจริง ๆ แค่ชื่อและรูปภาพประจำตัวเท่านั้น ยังไม่ให้อนุญาติให้เข้าถึง email ในแต่เวอร์ชั่นปัจจุบัน 2.x ได้อนุญาติให้สามารถเข้าถึงข้อมูลอีเมลแล้ว ผ่าน id_token โดยการเข้ารหัส JWT ( Json Web Token ) ด้วยเหตุนี้ทำให้การเข้าสู่ระบบผ่าน LINE Login API กำลังได้รับความนิยมขึ้นเรื่อย ๆ เพราะได้ข้อมูลครบถ้วนขึ้น ทั้งการเข้าระบบผ่าน Mobile Apps และ Web Apps

เริ่มต้นด้วยการสร้าง Line Channel

  • เข้าไปที่ https://developers.line.biz/en/ ในหัวข้อ Products ให้เลือก LINE Login กดปุ่ม ‘Start Now’
  • ในหน้า Create a channel ให้เรากรอกข้อมูลทุกอย่างให้ครบถ้วน Provider ถ้ายังไม่เคยสร้าง ให้เลือกไปที่ Create a new Provider
  • หลังจากกด Create ระบบจะพาเรามาที่หน้ารายละเอียดของ Channel และแท็บ Basic Setting ให้เลื่อนลงไปหาหัวข้อ OpenID Connect สถานะเริ่มต้นจะเป็น Unapplied ให้กด Apply และกรอกข้อมูล จนสถานะเปลี่ยนเป็น Applied
  • ต่อไปให้เลือกไปที่แท็บ LINE Login เลือกเปิดใช้งาน Web Apps และ ระบุ Callback URL สำหรับ Callback URL จะเป็น URL ที่เราไว้รับ JSON Response ที่ถูกคืนค่ามาจาก Line API ถ้าไม่สำเร็จเราก็จะรู้ว่า สาเหตุเกิดจากอะไร ถ้าสำเร็จเราก็สามารถ Get ข้อมูลได้จากตรงนี้ และนำไปใช้งานในขั้นตอนต่อ ๆ ไป

ข้อมูลที่ต้องใส่ตอน Request และข้อมูล JSON Response ที่จะได้กลับมา

  • ถ้าเข้าไปดูใน Document ของ LINE API https://developers.line.biz/en/docs/line-login/integrate-line-login/ จะมีระบุชัดเจนนะครับว่า ตอน Request ไป เราต้องส่งข้อมูลอะไรไปบ้าง

  • และเมืออ Request สำเร็จเราจะได้ Reponse ข้อมูลอะไรกลับมาบ้าง

เริ่มต้นเขียน PHP Line Login

เบื้องต้นให้เตรียม Environment ตามด้านล่างนะครับ

  • เปลี่ยนชื่อไฟล์ linelogin.php เป็น Linelogin.php และเปลี่ยนชื่อคลาสจาก linelogin เป็น Linelogin
  • วางไฟล์ Linelogin ไว้ในส่วนของ application/libraries
  • เปิดไฟล์ Linelogin.php แก้ไขข้อมูลดังต่อไปนี้
  • สร้าง Login Controller และทำการ load libraries เข้ามาใช้งานตัวอย่างโค๊ดตามด้านล่าง
  • ข้อมูลสำคัญ 3 อย่างคือ name, picture, email จะถูกเข้ารหัสในรูปแบบ JWT ซึ่งอยู่ใน $token->id_token สามารถใช้คำสั่ง base64_decode ดูข้อมูลเบื้องต้นได้ในรูปแบบ String แต่ถ้าต้องการนำไปใช้งานต่อต้อง ต้องใช้ JWT decode ในการถอดรหัส https://github.com/firebase/php-jwt

ทดสอบการทำงานได้ที่ https://www.ivomaker.com/login

วิธีทำ Apple Login เข้าสู่ระบบด้วย Apple ID ( PHP ... Apple Login คือการเข้าสู่ระบบหรือสมัครสมาชิกแบบ SSO ( Single Sign On ) ความหมายคือการใช้ข้อมูลเดียวกันกับแพลตฟอร์มใด แพลตฟอร์มหนึ่งในการลงทะเบียน...
6 สุดยอด WordPress Plugins สำหรับ SEO... เวิร์ดเพรส คือ เครื่องมือสำหรับทำเว็บไซต์สำเร็จรูปที่ได้รับความนิยม และทรงประสิทธิภาพมาก ๆ ทุกคนสามารถดาวน์โหลดและติดตั้ง จัดการเนื้อหาบนเว็บไซต์...
วิธี Query ข้อมูลใน MySQL แบบกำหนดช่วงเวลา... ใน MySQL เราสามารถ Query ข้อมูลมาแสดงผล แบบกำหนดช่วงเวลาที่เกิดขึ้นของข้อมูลแต่ละ row ได้ เพื่อจำกัดขอบเขตของข้อมูล ซึ่งอาจจะใช้สำหรับการออกรายงา...
ใช้งาน MySQL บน AWS ( Amazon Web Service )... AWS หรือ Amazon Web Service คือ แพลตฟอร์มคลาวด์ ( Cloud Platform ) เหตุผลที่เรียกว่า แพลตฟอร์มคลาวด์ เพราะว่า AWS มีรูปแบบการให้บริการถึง 175 บริ...

By codebee

- Programmer & Writer