欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
BrowserID
来自开放百科 - 灰狐
(版本间的差异)
小 (→图集) |
小 (→图集) |
||
| 第34行: | 第34行: | ||
Image:browserid-id-provisioning-secondary.png | Image:browserid-id-provisioning-secondary.png | ||
Image:browserid-user-certificate-provisioning.png | Image:browserid-user-certificate-provisioning.png | ||
| + | Image:browserid-dialog-modules-controllers.png | ||
| + | Image:browserid-modules-actions-state-machine-hub.png | ||
| + | Image:browserid-user-flow.png | ||
| + | Image:browserid-user-flow-higher-level.png | ||
</gallery> | </gallery> | ||
2012年7月5日 (四) 13:02的版本
BrowserID
代码
数据库部分
const schemas = [
"CREATE TABLE IF NOT EXISTS user (" +
"id BIGINT AUTO_INCREMENT PRIMARY KEY," +
"passwd CHAR(64)" +
") ENGINE=InnoDB;",
"CREATE TABLE IF NOT EXISTS email (" +
"id BIGINT AUTO_INCREMENT PRIMARY KEY," +
"user BIGINT NOT NULL," +
"address VARCHAR(255) UNIQUE NOT NULL," +
"type ENUM('secondary', 'primary') DEFAULT 'secondary' NOT NULL," +
"FOREIGN KEY user_fkey (user) REFERENCES user(id)" +
") ENGINE=InnoDB;",
"CREATE TABLE IF NOT EXISTS staged (" +
"id BIGINT AUTO_INCREMENT PRIMARY KEY," +
"secret CHAR(48) UNIQUE NOT NULL," +
"new_acct BOOL NOT NULL," +
"existing_user BIGINT," +
"email VARCHAR(255) UNIQUE NOT NULL," +
"passwd CHAR(64)," +
"ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL," +
"FOREIGN KEY existing_user_fkey (existing_user) REFERENCES user(id)" +
") ENGINE=InnoDB;",
];
图集
链接
分享您的观点
