Site icon บริษัท โค๊ดบี จำกัด

วิธีทำ LINE Login เข้าสู่ระบบด้วย Line (PHP) บนเว็บไซต์

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

วิธีทำ-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

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

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

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

private const CLIENT_ID = 'ใส่ Channel ID ที่ได้จากการทำในขั้นตอนแรก';
private const CLIENT_SECRET = 'ใส่ Channel secret ที่ได้จากการทำในขั้นตอนแรก';
private const REDIRECT_URL = 'url ที่เรากรอกไปในแท็บ Line Login';
class Login extends MX_Controller
{
	public function __construct()
	{
		parent::__construct();
		$this->load->library('linelogin'); // โหลด line libraries มาใช้งาน
	}
	public function index(){
		$url = $this->linelogin->getLink(7); // ขอ permission สำหรับเข้าถึง profile, email 
		redirect($url);
	}
	public function line_login_callback(){
		$get = $this->input->get(); // รับ json payload
		$code = $get['code'];
		$state = $get['state'];
		$token = $this->linelogin->token($code,$state); // curl เพื่อขอ id_token
		$token = json_decode($token);
		print_r($token);
	}
}
echo base64_decode($token->id_token);

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

Exit mobile version