6/1/17

[Ứng dụng php] đăng nhập (Login) với Twitter sử dụng PHP

Trong bài này mình xin hướng dẫn đến các bạn làm chức năng đăng nhập với Twitter sử dụng ngôn ngữ PHP. Dưới đây là mô hình của nó.

Cấu trúc của dự án:

Bước 1: Tạo Twitter Apps

Truy cập vào: https://apps.twitter.com/app/new đăng nhập tài khoản Twitter

Tạo app twitter với thông số sau:

Name: Tên ứng dụng của bạn. Điều này được hiển thị cho người dùng trong khi cho phép.
Description: Mô tả ứng dụng của mình.
Website: website của mình.
Callback URL(*): Sau khi authorization, URL này được gọi với oauth_token.
Bước 2: Tạo CSDL


CREATE TABLE `users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `oauth_provider` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `oauth_uid` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `fname` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `lname` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `locale` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
 `oauth_token` text COLLATE utf8_unicode_ci NOT NULL,
 `oauth_secret` text COLLATE utf8_unicode_ci NOT NULL,
 `picture` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `created` datetime NOT NULL,
 `modified` datetime NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

Bước 3: Kết nối CSDL

Mở file includes/functions.php kết nối CSDL:


function __construct(){
 //Config database
 $dbServer = 'localhost';
 $dbUsername = 'root';
 $dbPassword = '';
 $dbName = 'vnfit_tw';

 //kết nối CSDL
 $con = mysqli_connect($dbServer,$dbUsername,$dbPassword,$dbName);
 if(mysqli_connect_errno()){
 die("Failed to connect with MySQL: ".mysqli_connect_error());
 }else{
 $this->connect = $con;
 }
}

Bài 4: Tạo config với TW

Mở file config.php rồi truy cập vào site https://apps.twitter.com vào app bạn vừa taoh để lấy các thông số.


define('CONSUMER_KEY', 'KEY cho Twitter ');
define('CONSUMER_SECRET', 'Twitter Consumer Secret');
define('OAUTH_CALLBACK', 'http://localhost/login_with_twitter_using_php/process.php');

Chúc các bạn thành công!

0 nhận xét: