Trong ứng dụng của tôi, tôi có một bảng "người dùng" có cấu trúc sau.Cấu trúc cơ sở dữ liệu để triển khai đăng nhập xã hội?
CREATE TABLE IF NOT EXISTS `users` (
`userId` int(10) unsigned NOT NULL auto_increment,
`username` varchar(128) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`email` text NOT NULL,
`newsletter` tinyint(1) NOT NULL default '0',
`banned` enum('yes','no') NOT NULL default 'no',
`admin` enum('yes','no') NOT NULL default 'no',
`signup_ip` varchar(20) NOT NULL default '',
`activation_key` varchar(60) NOT NULL default '',
`resetpassword_key` varchar(60) NOT NULL default '',
`createdon` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`userId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
Tôi muốn thực hiện đăng nhập xã hội qua facebook, twitter và openid trong ứng dụng của tôi, giống như StatckOverflow đã làm. Vui lòng đề xuất cho tôi tất cả những thay đổi tôi sẽ yêu cầu trong db của tôi và cách thực hiện logic trong PHP, cùng với cơ sở đăng nhập hiện tại.
Cảm ơn!
Điều gì sẽ xảy ra nếu người dùng từ Facebook và Twitter có cùng khóa? –
ProviderType có thể được sử dụng để phân biệt chúng –
@EjazKarim, các khóa này không phải là thứ tự, vì vậy nếu cơ sở dữ liệu của Twitter có cùng khóa cho người dùng làm cơ sở dữ liệu của Facebook, tôi nghĩ chúng ta có thể bắt đầu chạy. – Machado