K_Reverter的网页开发记录

要么不做,要么就当作艺术品来做!

导航

Step1帐户登录系统(5.使用Yahoo BBAuth登录网站)

        从系列之中的上一篇文章,我介绍了如何支持Windows Live ID来登录自己的网站,这一篇按照顺序,我介绍如何支持使用Yahoo BBAuth来登录网站,和上面的一篇文章一样,我将会仅仅对具体的逻辑进行实现,不再重复基础的原理。

        关于Yahoo BBAuth的更多信息,请参考:Browser-Based Authentication

        可以先看Yahoo提供的BBAuth的原理示意图:

        第一步当然也是到Yahoo! Developer Network Home注册你的程序,注册界面大致是这样的:

        在注册完成之后,就可以在My Projects之中看到如下的应用程序信息:

        当然,Shared Secret需要点击链接才能看到,这里不得不要批评一下BBAuth的是,所有的信息注册之后没有看到什么地方可以修改,要改动一个什么(例如底下的访问数据列表),都需要重新注册一个应用程序,这样的设计似乎有点奇怪,还有一点,就是Yahoo提供的文档虽然不怎么样(我曾经因为一个时间格式问题被折磨了好久),各个范例和源码其实是很多的,只是不太好找,可能是我的英文功底不够吧。

        好,闲话少说,在经过注册之后,得到了这样几个参数:appid,secret,这几个参数在程序之中需要使用的。

        先看如何得到用来让用户登录的转向地址,这个非常容易,那几个参数也是现成的,只是格式是严格要求的,一定不能出错,否则反正Yahoo的BBAuth服务器反正就是给你出个错,让你摸不着头脑了,详细的代码还是在下面看看代码吧。

        得到转向地址并转向给Yahoo之后,就可以将用户转向到Yahoo的公共登录界面,用户登录之后,就会出现关于登录许可的提示,用户只有点击同意才能继续登录的过程。

 

        登录完成之后,就开始Yahoo的服务器的就开始回转到你的Web应用程序,回传之后,根据请求的参数,需要按顺序完成以下步骤:

        1.检查回传得Token是否正常;

        2.根据回传的Token向Yahoo的服务器请求WSSID;

        3.根据WSSID向Ymail接口请求用户的E-mail地址;

        得到E-mail地址之后,就完成了整个登录过程。

        下面是实现过程的代码:

 

BBAuthServer.cs代码

 

 

 

posted on 2008-12-01 22:15  K_Reverter  阅读(1145)  评论(0编辑  收藏  举报