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

แนวคิดดังกล่าวจึงได้เกิดขึ้น และเนื่องจากผู้ใช้งานอินเทอร์เน็ตส่วนมักมักจะมีบัญชีเฟสบุ๊กเป็นของตัวเอง ปัจจุบันจะบอกว่าร้อยเปอร์เซ็นเลยก็คงไม่ผิด เพราะ facebook ได้รับความนิยมเป็นอย่างมาก และ facebook เองก็มี API ให้กับโปรแกรมเมอร์ นำเอา API ของตัวเองไปใช้ล็อกอินร่วมกับเว็บไซท์อื่นๆได้
เพราะฉะนั้น เพียงแค่ผู้ใช้งานมีบัญชี Facebook (มีกันทุกคนอยู่แล้ว) และเว็บไซท์ของเรา สร้างระบบเชื่อมต่อกับ API Facebook เพื่อให้ล็อกอินร่วมกันได้ สมาชิกของเว็บเราก็ไม่ต้องสมัครสมาชิกใหม่ ไม่ต้องคอยจดจำรหัสผ่านหลายๆเว็บ จำแค่ Facebook Account ก็สามารถเข้าใช้งานเว็บอื่นๆได้อย่างสะดวก ง่าย และร็วดเร็ว
สารธยายมาตั้งเยอะแล้ว เรามาเข้าเรื่องกันเลยกับหัวข้อ “สร้างระบบล็อกอินเว็บด้วย Facebook”

เข้าสู่ระบบด้วย facebook

เข้าสู่ระบบด้วย facebook

ก่อนอื่นเราจะต้องดาวน์โหลด SDK โดยสามารถโหลด Facebook PHP SDK ได้ที่
https://github.com/facebook/facebook-php-sdk
เมื่อเข้าไปที่ Github แล้วเราจะเห็นลิงก์ดาวน์โหลดอยู่ขวามือ (ดังรูปประกอบ)

Download facebook php sdk

Download facebook php sdk

ขั้นตอนต่อไปคือการ แตกไฟล์ SDK เพื่อเตรียมแก้ไขและอัพโหลดขึ้นไปไว้ที่เซิร์ฟเวอร์เว็บไซท์ของเรา

Unzip file facebook php sdk

Unzip file facebook php sdk

สมมติว่าเราตั้งชื่อ Folder ว่า facebook-php-sdk ก็แล้วกันนะครับจะได้ทำตามต่อไปได้
ขั้นตอนต่อไปคือการสร้างไฟล์ PHP สำหรับเรียกใช้ API ที่เราเพิ่งอัพโหลดขึ้นไปเมื่อซักครู่นี้ โดยในโค้ด PHP จะต้องโหลดไฟล์ SKD เข้าไปด้วย ดูตัวอย่างจากภาพประกอบด้านล่าง

Require Facebook SDK

Require Facebook SDK

จากโคด PHP ด้านบนคือการโหลด SKD ที่เราเก็บไว้ใน Folder “Facebook-php-sdk” เพื่อเรียกใช้งานจะต้องใส่ Path ให้ถูกต้อง ถ้าใส่ไม่ถูกต้องจะไม่สามารถใช้งานได้
ใน่ส่วนของโค้ดที่จะต้องแก้อีกคือ การใส่ AppID และ AppSecret เราจะต้องไปเอามาจากแอพฯ Facebook ที่เราสร้างไว้เพื่อลิงก์กับเว็บของเรา
วิธีการสร้างแอพฯ facebook สำหรับระบบล็อกอิน เข้าไปที่ https://developers.facebook.com/ จากนั้นก็ทำการ Create New App เพื่อลิงก์กับเว็บของเรา

Create New App facebook

Create New App facebook

ในส่วนของการตั้งค่าแอพฯต่างๆ เดี๋ยวผมขออธิบายแบบคร่าวๆ หลังจากที่เราสร้างแอพฯใหม่ facebook จะให้ตั้งชื่อแอพฯ ใส่ URL ของเว็บไซท์ เราก็ใส่ให้ตรงกับเว็บเรา สำหรับการตั้งค่าอย่างละเอียด จะมาว่ากันอีกทีในบทความหน้าก็แล้วกันนะครับ พอเราตั้งค่าเสร็จจะได้ AppID กับ AppSecret มา นำมาใส่ในโค้ด PHP ของเรา
พอหลังจากที่ใส่ AppID และ AppSecret เสร็จเรียบร้อยแล้ว เราก็จะสามารถสร้าง Object ที่เชื่อต่อกับ Facebook SDK ได้แล้ว

Facebook User profile Data

Facebook User profile Data

ดึงข้อมูลโปรไฟล์ของสมาชิกที่ใช้งานปัจจุบัน หากมีการล็อกอินที่เว็บเรา Object ก็จะสามารถสร้างได้ และดึงข้อมูลของสมาชิกที่ใช้งานปัจจุบันมาโชว์ได้

Login Logout

Login Logout

Get Login และ Logput URL หากยังไม่ได้ล็อกอิน เพื่อให้สามาชิกกดลิงก์เพื่อล็อกอินได้ และในทางตรงกันข้ามหากมีการล็อกอินแล้ว ก็สามารถออกจากระบบได้

Login Page

Login Page


ตัวอย่างหน้าล็อกอินที่ผมสร้างขึ้นมา ใช้งาน หากยังไม่ได้ล็อกอินจะมีปุ่มล็อกอิน เพื่อให้สมาชิกกดล็อกอินได้ง่ายๆ

Profile Login

Profile Login


และเมื่อล็อกอินแล้ว เราก็สามารถดึงข้อมูลของสมาชิกมาแสดงผล หรือจะเก็บไว้ในฐานข้อมูลของเว็บเราอีกทีนึงก็ได้ หากยังไม่ค่อยเข้าใจตัวอย่างโค้ดที่นำมาให้ดู เพื่อนๆสามารถดูใน example.php ใน Facebook SDK เพียงเท่านี้เพื่อนๆก็จะได้ระบบล็อกอินด้วย Facebook สำหรับเว็บไซท์ของเรา สมาชิกเว็บของเราก็ไม่ต้องสมัครสมาชิกใหม่ เพียงแค่กดปุ่มล็อกอินผ่านเฟสบุ๊กก็จะเป็นสามาชิกเว็บของเราได้ทันที และยังระบุตัวตนได้ดีอีกด้วย