跳转到主要内容
东方龙马 提交于 1 March 2012

随着互联网的发展,使用第三方帐号登录已经越来越普遍了,so,为了方便大家更好的使用drupal搭建国内站点,写了这么个模块,简单介绍一下:

user_band 模块:这是这个模块组的核心,相对来说是接近drupal的层面,定义了一个通用的数据结构,登录过程中,根据上层的接口模块传入的用户资料,对用户进行绑定,新用户执行用户注册流程,通过传入的Email地址,对已经存在的用户进行查重,如果已经存在该Email地址,则进入绑定流程;如果该Email地址没有注册,则执行注册流程,并绑定第三方帐号到这个新注册的用户,并在用户绑定表中存储相关信息。

其他模块,如sina_login等,为上层接口部分,由于国内互联网竞争现状,导致了每个平台都有自己的一套验证机制,虽说都继承自OAuth,但是各家自己在OAuth基础上做了自己的定制,使得各家接口虽大同,却小异,于是我便将整个过程分了层,接口部分只负责和指定的平台进行信息交互,完全针对特定平台,和底层部分之间的数据交互,采用自己定义好的数据结构,这样就减轻了底层的冗余,让上层接口部分更有针对性,这便是我开发时候的思路。

下图为底层设计思路:

 

该模块在本站(幽灵古堡)使用了sina、QQ 两种登录方式,可作为示例,由于时间、精力等有限,难免会有bug,欢迎指出,某定当尽力修改!

模块代码见附件:user_band.rar

或见GitHub:https://spiritfelix@github.com/spiritfelix/MyDrupal.git

原文地址:http://www.i-felix.cn/blog/duo-ping-tai-yong-hu-gong-xiang-deng-lu-jie-kou-drupal6x