• vB·流水帐

  • 生命不止,折腾不息。
  • 首页
  • 关于
  • 网址收藏
  • 登录
  • 小试BrowserID

    post by vibbow / 2011-12-16 19:15 Friday

        开始研究BrowserID是因为自己想写一些小东西,需要做登录认证,又不想自己每个程序都写一遍登录界面,于是就萌生了统一登录的想法。目前我知道的统一登录的方法有三种:OAuth,OpenID,BrowserID。OpenID每次登录太麻烦,还得填写完整的URI地址,直接放弃。OAuth虽然应用的比较广,但是那个认证过程实在是蛋疼。虽然我把BrowserID的官方文档翻了N遍,实在感觉不出BrowserID与OAuth实际应用效果的区别有多大,但是BrowserID认证不需要OAuth那么麻烦,所以就决定用BrowserID做登录器了。

        虽然BrowserID使用起来非常的方便,但是由于这玩意才出现不久,很多东西还不确定,变来变去的,甚至官方的文档都木有跟上代码的变动,所以还是纠结了两个多小时才搞定他:把BrowserID登录功能添加到了我的博客上。

        附件里是打包好的BrowserID for Emlog文件,作用就是给你的Emlog添加BrowserID登录功能。由于Emlog的接口实在太少,所以就只能修改emlog源代码了,这里总共修改了5个文件,全部覆盖上传就可以了。登录时邮箱地址需要和你emlog用户的邮箱地址相吻合,其他的貌似就没什么需要说明的了。

        接下来就是研究BrowserID时的纠结记录:

        1. BrowserID在进行认证的时候(本地服务器到BrowserID服务器认证),需要设置Content-Type,并且只支持application/json和application/x-www-form-urlencoded

        2. 官方手册上对navigator.id.get(gotAssertion, {allowPersistent: true});和navigator.id.get(gotAssertion, {silent: true});这两个调用方法说的不是特别明确。第一个allowPersistent: true的意思就是对这个网站进行持久登录,简单来说就是显示“记住我”选项(仅仅是显示这个选项,还需要你在登录界面手动勾选)。第二个silent: true的意思就是静默登录,不弹窗。实际使用时需要先进行持久登录后才有效。而且没必要和神马按钮进行事件绑定之类的,页面加载时直接调用。以下是这两个调用方法在BrowserID for Emlog里的实际使用方法:

     

        当页面加载时先进行静默登录,如果静默登录成功了就直接跳转。如果点击登录按钮后则进行持久登录。

        3. 这个是最坑爹的:在官方手册里,登出的调用函数给的例子就是navigator.id.logout();,实际上如果直接执行这个调用压根一点效果都木有。正确的方法是要给他加一个回调函数,哪怕你回调函数里神马都不干。就为了这个问题,我纠结了一个多小时...

        4. 接着就是那个蛋疼的BrowserID for Firefox插件。虽然你看着能成功安装,但是他是不兼容Firefox 8.1的,所以装上了一点效果都木有。因此我也就没有在BrowserID for Emlog里对他进行兼容了。等哪天Firefox集成了这个功能再说吧。

        5. 最后奉上网上搜到的坑爹图,彻彻底底的坑爹,BrowserID完全木有这个功能的说

    点击查看原图


    附件下载:
    emlog_browserid_login.zip 7.31KB
    « Weekly tweet log for 2011-12-18 | 还是动手写一篇文章吧...»

    引用地址:

  • 搜索

  • 随机日志

    • 随机副标题插件 for Emlog 1.1
    • Weekly tweet log for 2012-01-08
    • Weekly tweet log for 2011-03-13
    • Weekly tweet log for 2011-06-26
    • 让PHPSay-Microblog调用自己架设的url压缩服务
  • 最新评论

  • 链接

    • HaCker-Fan's Blog
    • 快乐忆站
    • 流浪手记
    • zYhYtCn's Blog
    • 奇遇-心情随笔
    • 云端软件论坛
    • 造物虚生之人
    • CLURIES'
    • ss1271的奋斗
    • Dndx的温暖小窝
订阅Rss
Powered by emlog