楼主把分给我吧,给你发个绝对实力的技术贴。。。。
首先确认几个前提:
1. 暴雪老奸巨猾,必然要求掌握WOW不依赖9C独立运行所需的一切信息,这是它不可能放弃的霸王条款,是不被9C绑架的基本保证。
2. 9C不会允许暴雪掌握任何非WOW的玩家信息。
3. WOW服务器端和客户端需要保持全球的代码统一性,暴雪不会专门为CWOW设计一套截然不同的认证机制。
4.密码、PIN码、密保卡、安全令牌这些认证系统都是暴雪研发的,暴雪拥有知识产权,并且被自己的客户端和服务器端程序支持。
基于以上前提,推导出(也许是)唯一可行的CWOW账户管理系统设计。
图一:CWOW存在两个与身份认证有关的数据库。一个是属于暴雪的WOW账户数据库(以下简称WAB),一个是属于9C的通行证数据库(简称9CPB)。
数据库内容示意(其中数据系虚构)。请忽略其中非规范化的字段,比如大区、余额这些显然是需要多张表来关联的,但在本示意图中写在一张表内以节省工作量。
说明:
a. WAB是全球统一格式,其中只有暴雪为用户登录WOW而需要知道的信息。非WOW用户在其中没有记录。身份证、手机号等这些客服信息暴雪也不需要知道,他只要知道你的冻结状态、防沉迷状态是否为真,就足以顺利运行WOW服务了。当然,一切经由WOW.exe界面进行验证的信息,暴雪都要掌握,这包括密码、 PIN码、密保卡、安全令牌的相关加密信息。这样,中国大陆地区WOW和中国大陆以外的WOW服务器端程序因为只和WAB打交道,不需要有任何不同。为了 9C进行客服业务的方便,WAB提供访问和修改密码、PIN码、密保卡、安全令牌的开放API接口。此外,WAB还用于Armory等暴雪离线应用。
b. 9C通行证既包括WOW用户、也包括非WOW用户的信息。9CPB中包含中国特色的客服信息:身份证,email,手机等。所有的9C游戏玩家都注册这些信息,不管他是不是WOW玩家。9CPB不直接包含WAB中的那些数据,仅可以通过API访问和修改。
图二:CWOW玩家登录过程。
整个过程不需要与9CPB发生任何关系。同理,劲舞团2和FifaOL的用户不需要与WAB发生任何关系。
图三:玩家登录9C通行证。
在登录时不需要访问暴雪数据库。
图四:新玩家在9C通行证上激活一个大区。
注意,当9C用户激活一个大区以后,他才成为WOW玩家,此时才为他创建WAB记录。
图五:老WOW玩家通过9C通行证更新自己的有关信息,这包括但不限于:充值,改密码,改密保卡,改身份证,转服,锁定账号,等等
各种9C通行证操作所涉及的字段一览
图六:暴雪不带9C玩了!暴雪带网易玩了!
要点:
a. 暴雪把WAB拆走,然后就没9C什么事了。
b. 暴雪把WAB里的帐号和密码Hash拷给网易,网易用它们初始化自己的战网通行证数据库BNPB。玩家可直接用原来的帐号密码登录BNPB,然后补充客服信息。
c. WAB和BNPB的协同工作原理和9C类似,不赘述。
d. 9C把所有只激活了WOW的账户从9CPB里全部删掉,以释放出无用的用户名供新用户注册。当然,同时激活了劲舞团2的账户是不能删的吖。
e. 网易只有密码Hash,无法反推出明文,不能用于捣乱9C劲舞团。
附上链接:
http://bbs.17173.com/topics/251/200904/16/13581360,1.html