我想要关于在 MySql 中创建一个新的“用户”表的最佳实践和建议,该表不会存储 reg 用户/传递,但会存储 Facebook 将提供给我的 facebook ID。
通常,我会担心随机散列其中的所有内容,但是......我还需要这样做吗?如果没有与他们的 Facebook ID 相关联的个人信息,我看不出有任何改变任何东西的理由......
所以,Stack Overflow MySql Geniuses,告诉我最好的方法......
你的桌子会是这样的:
我将其用于“使用 facebook 登录”(和其他提供商)应用程序的身份验证
CREATE TABLE authentications (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`provider` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`uid` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`access_token` text COLLATE utf8_unicode_ci DEFAULT NULL,
`secret` text COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`expires` int(12) DEFAULT '0',
`refresh_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique` (`user_id`,`provider`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
样本数据:
INSERT INTO `default_authentications` (`id`, `provider`, `uid`, `access_token`, `secret`, `created_at`, `updated_at`, `user_id`, `expires`, `refresh_token`) VALUES
(10, 'twitter', '754569028', '897234097-FxwID1nybWTIMmZs1hngsaWwedsfsfx7uiwxMwfU4s', '7uc1vzBAL9rA8h38asdfasfasOzeJkyt1jU1Zj4c', 1344632332, NULL, 1, NULL, NULL);