最近用sina的Xweibo搭建自己的微博站点,与原有站点做单点登录,写一下笔记,方便以后使用。
Xweibo自身提供了Cookie认证,配置文件为xauthCookie_account.adp.php,在user_config.php中修改ACCOUNT_ADAPTER为xauthCookie。
认证原理是:
由自己的网站生成cookie,cookie中包含两个参数,一个名为"_xauthTK",一个名为"_xauthSG"。
_xauthTK:如果为json格式,则按照 { "uid": 1234567,"uname": "myName","time": 1292575506 } 格式编写,如果配置了XAUTH_TK_DATA_ENCRIPTION,则对_xauthTK进行加密,否则按照明文输出。
_xauthSG:对_xauthTK加密后的值,通过XAUTH_TK_DATA_SIGN_FUNC配置相应的加密算法,配置文件中默认为md5。
xweibo拿到_xauthTK与_xauthSG,并根据配置文件中的设置,对这两个值进行匹配,匹配通过则通过认证,接着就是可以绑定sina微博了。
备注:在生成cookie时,由于使用json格式,所以需要转码。