最近公司(假如为www.AAA.com)需要和百度知道(简称bd以下皆同)合作,百度给了开发文档。
好处:省去了我们开发类似的项目,可能还会给网站的访问量有提升。人力物力都省去了,何乐而不为那。
坏处:也谈不上,就是我们的用户提问的问题,给了bd。
既然bd把应用都部署好了,我们还需要开发什么,哈哈,需要的,bd的应用需要使用bd账号登陆,但是我们希望我们的用户
也可以登陆提问问题,所以就有了开发任务。
开发任务: 共4个 。 1.用户登录 2.身份验证 3. 注册 4.退出
目的: 注册为AAA下面的用户,可以在 zhidao.AAA.com (zhidao.AAA.com域名使用cname的方式指向到open.zhidao.baidu.com)中提出问题,回答问题。
下面我分别解释一下这几个接口干什么用:
一. 用户登录:
1. 回调:callback=http://zhidao.AAA.com/login_finish?token=XXXYYYZZZ 是在我们站点登陆成功后,回调zhidao.AAA.com, 同时把用户名和ID加密传递过去。
就是token的值。 加密时为了安全,传递用户信息是为了在zhidao.AAA.com上面显示用户信息。这时候问题来了,我们传递过去的密文,那怎么显示那?这时候就是身份验证
接口了。
补充:存储cookie的目的: 如果用户在www.AAA.com中直接登陆,这时候是不回调zhidao.AAA.com的。所以bd为了能拿到这个token,需要我们放到cookie里面.
这个我也是猜的。按照道理应该是这样的。
二。身份验证接口:
2.bd 拿到加密的token后,通过get的方式调用身份验证接口,拿到解密的用户信息。显示到页面上。
三. 注册接口
3.如果登陆知道怎么回事了,这个就没有问题了。
四:退出接口:
清除我们存储的cookie;
总结:
说了这么多,其实就是一个get请求。中间把敏感信息进行加密。 还是应了一句老话:万变不离其宗。
这是我开发完成后的理解,如果有不对的地方,欢迎大家指出来,我们共同进步。 如果在开发中也遇到了这样的问题大家多多交流。谢谢!