站在sns边缘的博客媒体

web2.0酷站, web应用, 社交网络 2 条评论

最近几个月it圈子的sns非常火爆,尤其是tw同事录和5gsns的推出,几乎一夜之间改变了这么多blogger的媒体习惯,在sns里泡的时间越来越多,而原来的博客被置于墙角,那么是否意味着sns彻底颠覆博客媒体价值呢?

关键词:博客媒体、sns、精英、草根、web2.0

第一点:sns会让大众博客走向衰落

这个是必然现象,在it圈子这个现象提前上演,很多自己写博客的人去了sns,因为sns里内置着博客的功能,同时,好友的回复评论也是很紧密的,这个比博客要强很多,所以sns是比博客更能让草根享用话语权的地方。

当然,中国的sns还没有强大到让博客压抑的地步,门户博客依然有较高使用率,sns要想颠覆门户博客还是很难的,当然这只是个时间问题,门户自己也在sns化,不过挑战性较大。

sns要草根有个观众和读者,这一点很重要,基于此会产生认同和反馈,从而形成互动。

第二点:博客媒体会越来越高端和专业化

博客的自媒体趋势越来越明显,专家博客和专业博客会更有读者群,而普通的博客则走进sns里,笔者认为这是好事。毕竟写有价值的博客内容的人还是很少数的,走精英化道路会好一些,也给网民省点心。

独立博客会越来越多,这是一种进步。当然博客盈利这个说法本身有问题,博客是个人日志,别老说盈利了,盈利会毁掉博客,正因为不盈利它才有价值。当然,如果博客发展到techcrunch那样,也是会盈利的,我们要说的是:博客不是用来盈利的。

方兴东当年是走高端、草根两条线,不过是从高端开始,最后被新浪博客抄家了,笔者倒是觉得sns会让高端博客的媒体价值更加凸显,新浪博客sns了,wordpress也在sns,笔者期待是大范围的社区,而不是一个局域网。

第三点:sns的秩序和文化

这两点对于sns是非常重要的,如果不建好这两点,sns和通用的博客系统、bbs没有太本质的超越。keso以前提过圈子之死的说法,sns是圈子,要活着,就不能没有秩序和文化,否则会像被不规则的信息流冲散sns的关系。

秩序和文化就像什么呢?像我们社会的道德和法律,法律是秩序,道德是文化,没有良好的文化的社会是没有未来的。尤其对于专业领域的sns,要考虑本专业的文化和需求,这样更容易获得稳定的发展和认可。

最后还是要加一句:sns需要活跃度,是绝对不是pv越高就越好。

固定链接:站在sns边缘的博客媒体 |Add to Google       236 views

SNS是蜜糖也是毒药

社交网络 2 条评论

SNS好多啊,应接不暇的邀请消息和邀请email,最后我不得不说一声“sorry‘,因为我害怕注意力过于分散,影响自己的工作。如果把这些邀请我的网站每天去看一遍,那么我一定因为注意力迷失而痴呆,所以,在处理一些邀请链接的时候,我选择了忽略。

SNS是个好东西,但是蜜糖整天吃一堆也不好,万一尿出糖了就坏了,故大家在sns泛滥的年代里一定要守住贞操,不能随便给别人看。我甚至担心会不会让人得狂躁症,twitter干脆不玩了,迷你博客挺好,只要开发一个完全替代twitter的好的sns插件,那么twitter就可以告老还乡了。sns的圈子不会太火,最热闹的圈子–QQ群我周围的人大多选择了屏蔽,屏蔽QQ群噪声的习惯迁移到sns圈子,不过如果校内网开发一个好的分类信息插件或频道,我一定支持。

donews和techweb都推出了自己的科技人sns,经过几周,我去sns多了、看新闻少了,因为我知道有人会分享给一个链接(虽然也不经常看)。科技资讯网站很多,是不是都会出自己的sns呢?如果不出,用户被对手去抢走,出了用户的负担也加重了,哎!有什么办法啊,谁让内容贬值呢,大多数科技资讯站点都是同样的内容,国外的科技博客倒闭了不少,其实国内的科技网站也会倒闭不少,sns是个催化剂,也许对科技资讯网站来说也是一次洗牌的阶段。

sns不是这么个玩法,需要预设注册、认证以外的人文规则和游戏规则,不然的话,game is over,噪声会赶走用户,就怕不热闹,也怕太热闹。ok,开始睡觉。

固定链接:SNS是蜜糖也是毒药 |Add to Google       252 views

facebook平台开源啦,可以下载啦

社交网络 发表评论

亲爱的们,facebook开放平台可以下载啦,还有文档,开发者地址http://developers.facebook.com/fbopen

固定链接:facebook平台开源啦,可以下载啦 |Add to Google       330 views

笔者搞到校内网api开发文档^..^

社交网络 7 条评论

嘿嘿,来自校内网的死党姐妹帮我提前搞到校内网api开发文档和一些资料,XiaoNei Markup Language,简称xnml,是以后校内api的标记语言,不知道中国是否会因此诞生很多专门开放校内应用的小公司。

固定链接:笔者搞到校内网api开发文档^..^ |Add to Google       893 views

圈子之死与IM之开放

web应用, 社交网络, 软件硬件 发表评论

IM正在走向统一、整合、开放,尽管腾讯还是因垄断地位而自我封闭,但是sns的发展和twitter等新应用的流行已经改变了趋势。业内一些人士如洪波提出圈子之死的说法,不过没有说出原因,今天笔者略带解析圈子之死和IM的一些新的发展方向,希望对相关人士有所帮助。

圈子之死:目前sns正在流行,而作为sns雏形的圈子却趋于死寂。

圈子是博客时代走向sns时代的一个过渡产品,当过渡产品并非没有价值,只是在一定时期不处于主导价值,圈子在出现不久就变成了另类的论坛,信息组织很简单,关系组织很简单,甚至没有多少关系。当圈子、群组人数控制在少范围的时候,圈子变得专注所以有效,这时候圈子对于成员是有价值的;而当圈子人数不断攀升的时候,圈子因为关系匮乏和噪音过大而不可管理,成员们的交互管理失效,于是圈子死了。

IM之开放:IM互联互通已成趋势

最先让人关注的是雅虎微软两家im的互通,而现在IM已经非常多,而且大多基于开放协议,比如gtalk,国外很多IM基于jabber开放程序创建,而最近雅虎刚出来的最新版yahoo! messenger 9.0可以导入msn、gmail、myspace、aol、web.de、riddif等二十多项目全球各国的流行IM、通讯录数据。

下面是yahoo最新IM的解说视频:

 

 

http://us.i1.yimg.com/us.yimg.com/i/us/msg/9/sp/maxwell_b2_20080528.swf
   sns和im相互支持、相互消长。腾讯在国内IM领域基本上处于垄断地位,不过也有一点不好:QQ群很高的比例是被用户屏蔽的。QQ群影响了大家的工作和上网,以至于百度im推出后的群功能一出生就是残废,而圈子之死也与QQ群带来的噪声污染有关,当然不是主要因素。facebook有自己的im工具,国内的校内也有自己的校内通,而新浪则在测试新浪魔方,IM多地让我笔记本内存不足了,开放与整合不可避免。

 雅虎Messenger最新版的开放性让人看到Jerry的社区理念的一些影子,9.0甚至可以自定义去掉IM上的雅虎搜索,大量实用功能通过插件方式实现,交给用户自己选择,从而实现了个性化和社区化。雅虎这种新思路是代表一种新方向,新浪魔方也在尝试插件方式,未来这种模式必然是趋势,即使是腾讯也逃不过。

 

固定链接:圈子之死与IM之开放 |Add to Google       367 views

OpenID使用手册

web应用, 社交网络, 芳言芳语 发表评论

摘要:

OpenID是一种开放、离散式的用于用户数字标识的开源框架。在网络应用日益充斥的今天,作为终端用户的我们不得不在每个网站上设置帐号,并管理众多的帐号。而采用OpenID技术的话,你就无须再管理这些相互独立的帐号,而是通过认证服务器管理自己唯一的身份标识。本文将详细解释OpenID技术框架以及如何使用Java进行开发。

作者:cleverpig
什么是OpenID?

OpenID是一种开放、离散式的用于用户数字标识的开源框架。

请让我们思考自己所拥有的在线帐号种类:博客、wiki、to-do list、个人相册。在网络应用日益充斥的今天,这些个人在线帐号可谓不胜枚举,而对帐号的需要也同样无处不在,乃至当我们想在好友博客上进行评论时都需要注册成为该博客系统的用户。于是作为终端用户,我们不得不在每个网站上设置帐号,并管理众多的帐号。而采用OpenID技术的话,你就无须再管理这些相互独立的帐号,而是通过认证服务器管理自己唯一的身份标识。

OpenID常见的应用场景:某用户试图登录一个外部网站。与提交用户名和密码的方式不同,他只提交了属于自己的一个URL,例如:http://johnsmith.example.com/

这个URL即指向了用户的OpenID认证服务器,同时又是用户的身份标识。因此外部网站使用此URL便可以找到用户的认证服务器,并询问认证服务器:“该用户声称他拥有此URL。而这个URL说明了你负责认证工作,那么请告诉我,该用户能否访问我的站点?”。认证服务器将提示用户登入认证系统,并询问用户是否允许和外部网站进行认证。如果用户同意的话,那么认证服务器将通知外部网站——用户已经通过认证。在上面,我们通过拟人化的表达方式来形象生动地诠释整个认证请求/回应过程。

用户可以使用同一个URL用作在任何支持OpenID认证的外部网站中使用的标识。这正是OpenID与其它传统认证方式的最大不同。通过使用URL,可以使外部站点非常容易地获取到负责认证工作的服务器位置。而只有认证服务器才需要输入密码来验证用户身份。其它希望验证用户身份的站点都将询问用户所注册的认证服务器。如果你正在使用支持OpenID的门户站点(比如AOL),那么你就可以使用现成的AOL即时消息登录帐号来登录AOL站点,而无需另外注册。因此,我们可以猜想Google和Yahoo也许已经开始着手建造他们的OpenID服务。

你一定想知道OpenID是如何实现分散化服务的?由于用户具有选择OpenID服务提供者的权利,因此你会在最初选择AOL作为OpenID提供者,而过一段时间后,可能觉得希望更换到另外一个OpenID提供者,此时你所需要做的就是修改以下的HTML标签:

<link rel="openid.server" href="http://openid.example.com/">

保存这些link元数据的最常见位置就是个人站点(比如博客)的根页面。

如何使用OpenID?

OpenID绝妙地解决了多个帐号同步问题,但并不仅仅如此。例如,你可以利用它建立跨应用、跨域的单点登录(Single sign-on)。如果你使用同一个OpenID登入了博客和个人相册,那么你只需要在登录过程中进行一次认证。对于在此之后的每个需要登录的应用(在同一个session周期)只需提供OpenID,而不是传统的用户名和密码。

大多数OpenID提供者也提供了支持多个配置的功能。这样你就可以使用“Bob Smith”登录博客,而使用“Robert J Smith”登录企业wiki。随着OpenID提供者的日益成熟和OpenID功能上的提升,我们不久就会使用对来自伙伴公司OpenID认证服务器主机名的用户进行认证的服务。

哪些网站支持OpenID?

OpenID技术出现不久,便获得了在众多公共消费站点的热捧:DiggSix ApartZoomrAOL。其中AOL为老用户提供了OpenID支持,使得六千五百万的登录用户在一日之内就全部能够使用OpenID。目前已经具有超过九千五百万的用户能够使用OpenID登录系统,并且每天都有25至50个站点加入到支持OpenID规范的队伍中。另外,OpenID增加了对Firefox3和微软Windows Vista的支持。

下面是实现了OpenID代码库的语言列表:
        • C#
        • C++
        • Java
        • Perl
        • Python
        • Ruby
        • PHP
        • Coldfusion

OpenID社区维护了这些代码库的清单:http://openid.net/wiki/index.php/Libraries。在本文的后面,我们将讨论到OpenID的Java实现:OpenID4Java(http://www.openid4java.org)。

OpenID协议综述

OpenID协议非常易于扩展,下面的图表展示了OpenID2.0草案的基本工作流程。它展示了在终端用户、Relying Party站点(一个示例站点)和OpenID服务提供者之间的交互过程(最常见的认证流程)。
image

用户登入外部站点的过程主要分为以下七个步骤:

1. Relying Party站点请求用户标识

此步骤非常简单:用户提供一个字符串(以URL或者XRI格式)给外部站点,使后者能够识别用户。

        1.外部站点请求用户发送标识。通常使用带有Open图标的文本输入框、用于提交信息的按钮组成的form来完成此功能。为了方便起见,文本输入框的name属性应为openid_identifier,这样以便浏览器自动将其识别为一个OpenID登录form。
        2.用户输入标识,标识可能采用下面的形式:
        • URI/URL (通过http或者https)
        • XRI。XRI是一种广义的、分散式的URI。它能用于任何使用URI的地方。XRI主要采用以下形式:xri://authority/path?query#fragment。了解更多关于XRI的信息请看:XRI语法规范

用户标识类似这个样子:http://myname.myhost.com/。外部站点经常将OpenID logo放置到其登录form上,这样可以使你很快地辨别出是否使用OpenID。
image
用户在点击位于外部站点登录页面上的“Login”按钮后便启动了认证过程。

2.“标准化”: Relying Party站点整理用户标识

用户输入了标识后,此标识便由外部站点进行整理(标准化)。由于标识可能使用XRI或者URI格式,因此整理的过程非常复杂:
        1.如果标识以xri://、xri://$ip或者xri://$dns*开头,那么我们要去掉这些头部标记。
        2.如果余下字符串中的第一个字符是XRI的全局上下文符号(=、@、+、 $、!),那么此字符串为标准的XRI标识。否则,将被视为HTTP URL(如果http/https前缀没有定义,我们需要为其添加上http://)。当然,URL必须遵守URL命名规范。最终获得的URL就是一个标准的URL标识。

下面是一些示例:
image

下面的流程图描绘了标准化处理过程:
image

3.“发现”: Relying Party站点查询与OpenID服务器进行通讯的方式

外部站点使用标准化的标识来查询用于发起请求所必须的信息。对于“发现”阶段来讲,其使用的解析协议和获取的结果文档都取决于在标准化阶段决定的标识类型。这正是OpenID2.0规范的特殊之处。
image

快速参考:

        • XRI 解析:类似通过UDP将主机名解析为IP的DNS协议;它将XRI转换为XRDS。其目的是提供一种将厚重、通用的XRI格式转换为真实可用的描述符。

        • YADIS协议:将URL连接到XRDS上。这是一种非常简单的协议,它将当前的HTTP或者HTTPS URL直接指向XRDS。

        • XRDS:一种基于XML的XRI资源描述符。它被设计用来提供关于XRI的可用的、描述性信息。在OpenID应用场合中,XRDS用来描述OpenID服务器,并且使用“priority”参数标识了用户对服务器的优选顺序。在下面的示例中,http://www.livejournal.com/users/frank具有最高的优先权(最低的数值):

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"
xmlns:openid="http://openid.net/xmlns/1.0">
  <XRD>
    <Service priority="50">
      <Type>http://openid.net/signon/1.0</Type>
      <URI>http://www.myopenid.com/server</URI>
      <openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
    </Service>
    <Service priority="10">
      <Type>http://openid.net/signon/1.0</Type>
      <URI>http://www.livejournal.com/openid/server.bml</URI>      <openid:Delegate>http://www.livejournal.com/users/frank/</openid:Delegate>
    </Service>
    <Service priority="20">
      <Type>http://lid.netmesh.org/sso/2.0</Type>
      <URI>http://mylid.net/liddemouser</URI>
    </Service>
  </XRD>
</xrds:XRDS>

        • 使用HTML代码。在HTML的<head>部分必须提供以下标签:

<link rel="openid2.provider" href="http://openid.com/server/endpoint/url"/>

可选的,如果用户使用委派(delegation)(就是用户宣称拥有一个不存在于该OpenID服务器上的本地标识),则需要使用下面的标签:

<link rel="openid2.local_id" href="http://openid.com/server/endpoint/url"/>

例如,某人正在使用openidprovider.com这个OpenID服务器来验证他在另一个OpenID服务器usersite.com上的身份,那么其本地标识将使用类似user.openidprovider.com的形式。

这个“发现”的过程允许外部站点知道两件事,其中一件是外部站点如何与OpenID服务器进行通讯:
        1.OpenID提供者端点URL:OpenID提供者的最终URL(服务器URL)。
        2.认证协议版本: OpenID认证使用的协议版本。

作为可选的,如果用户使用委派,那么外部站点将需要知道:
        1.用户宣称的标识:此标识为用户宣称属于自己的。它是在登录过程中用户提供过的标识。
        2.本地标识(OP-Local Identifier):用户在其OpenID服务器上拥有的本地标识。

例如,用户使用http://www.example.com/作为其标识,但外部网站实际上通过https://www.exampleprovider.com/endpoint/这个OpenID服务器来验证用户标识https://exampleuser.exampleprovider.com/。那么在对http://www.example.com/执行发现的过程中,我们需要在XRDS文档的最后一个XRD成员中提供下面的XML片段

<Service xmlns="xri://$xrd*($v*2.0)">
  <Type>http://specs.openid.net/auth/2.0/signon</Type>
  <URI>https://www.exampleprovider.com/endpoint/</URI>
  <LocalID>https://exampleuser.exampleprovider.com/</LocalID>
</Service>

4. Relying Party站点建立与OpenID服务器之间的关联(可选)

通过在外部站点和OpenID服务器之间的关联(association),我们可以建立一种在两者之间共享的加密通道,它可以用来验证后续的协议信息并降低通讯回合数。在OpenID规范中对于实际创建关联的过程进行了详尽的描述。简单来讲就是使用了一种Diffie-Hellman密钥交换算法来生成共享密钥。此密钥用于对信息进行签名。

这样使得外部站点和OpenID服务器之间能够安全地通讯。这里指的“安全性”是通过传输层(使用SSL)或者通过应用层的HMAC SHA1或者HMAC SHA256算法实现的。关联请求的成果就是assoc_handle(关联权柄),外部站点和OpenID服务器将在本次关联的后继活动中将它作为对消息进行加密的密钥。

关联阶段被标为“可选的”,这是因为OpenID协议还允许外部站点直接请求认证(不作关联)、并且接着请求对认证信息进行验证。这样外部站点可以不保有关联权柄信息,以实现无状态通讯。而这种方式被推荐用于执行与OpenID服务器之间的相关通讯,但如果不能使用此方式的话,就必须创建上面讲的关联方式。

5. Relying Party站点请求认证

我们通过使用重定向页面可以建立认证请求。请查看下表中的重要参数值,详细信息请参考OpenID相关信息格式文档:
image
请注意:外部站点并没有直接发送HTTP请求到OpenID服务器,而是重定向到OpenID服务器页面。由于这样使得OpenID服务器能够从用户浏览器中读取cookie而没有将任何认证细节泄露给外部站点,因此这个过程是安全的。

6. OpenID服务器回应认证请求

在接收到OpenID认证请求后,OpenID服务器必须决定允许还是拒绝此用户的认证。这将由用户从前是否在OpenID服务器上认证过决定。

请注意:OpenID服务器在接收认证请求信息时是具有控制权的。这意味着它不但能够异步地回应认证请求信息,并在它回应认证请求之前与用户进行一系列的交互。大多数认证服务器都提供给用户一个页面使其能够选择允许或者拒绝来自外部站点的认证请求。

一旦OpenID服务器已经回应了认证请求,那么它将创建一个如下描述的认证回应信息,低层信息细节请阅读OpenID协议文档:
image

此回应通过将用户重定向到外部站点的方式发送,以确保外部站点和OpenID服务器之间在认证请求/回应过程中没有直接通讯。

7. 验证间接回应

协议的最后一步是外部站点验证这个发自OpenID服务器的间接认证回应信息。

当外部站点接收到回应时,它必须在接受其内容之前进行下面的验证:
        • “openid.return_to”的参数值是否匹配当前请求的URL。这确保OpenID服务器重定向用户、发送回应信息到正确的URL。
        • 被发现的信息是否与回应信息相匹配。
        • 具有相同参数值的“openid.response_nonce”表示OpenID服务器遭到了重放攻击(reply attacks)。
        • 在回应信息中的签名是否有效、要求的签名域是否都被签名。这保证认证信息没有被篡改过。

协议扩展

OpenID协议提供了一个基本的认证机制。目前还有基于OpenID的其它可用协议:
        • Attribute Exchange:OpenID属性交换是一种用于在端点之间交换标识信息OpenID服务扩展。其提供了对标识信息的接收和存储。
        • Simple Registration:这是OpenID认证协议的扩展,它允许非常轻量级的配置交换。主要用于在终端用户使用web服务注册新帐号时传送八种常用的请求信息。

使用OpenID4Java实现OpenID协议
image
OpenID4Java是对OpenID1.1和2.0规范的实现,目前它通过code.google.com系统进行维护。此项目初始代码是由Sxip捐献出来的,而后Atlassian等公司参与进来,并为实现支持2.0规范(属性交换规范)的API贡献了大量的工作。

在使用OpenID4Java之前,你需要完成以下工作:
        • 下载OpenID4Java代码库,并将其安装到你的项目中。
        • 修改你的认证提示,使其询问用户的OpenID标识,而不是从前的用户名和密码。
        • 创建针对用户标识的认证请求,并将用户重定向到他们的OpenID服务器。
        • 在返回URL中接收OpenID提供者的认证回应并进行验证。

这样,你的web应用就会像在上面协议综述中的流程图所展示的“Relying Party”那样工作。

第一步是创建消费者对象,它将向认证服务器发出认证请求。这里我们将消费者对象视为一个贯穿应用的个体,以使相关的关联密钥能够保存在同一位置。因为当面临多个认证请求时,在不同的请求之间保存密钥将在两个端点(请求和回应端点)间引起下幅度的性能下降。

Sample Consumer代码片段:

/**
 * Sample Consumer (Relying Party) implementation.
 */
public class SampleConsumer
{
    public ConsumerManager manager;

    public SampleConsumer() throws ConsumerException
    {
        // instantiate a ConsumerManager object
        manager = new ConsumerManager();
    }

    ...
}

一旦用户提供了OpenID URL,你就需要获取OpenID认证服务器的端点URL,发送请求到此URL。而OpenID认证服务器的端点被确定后,你还要创建一个和服务器关联的共享密钥。

// discover the OpenID authentication server's endpoint URL
List discoveries = manager.discover(userSuppliedOpenID);

// attempt to associate with the OpenID provider
// and retrieve one service endpoint for authentication
DiscoveryInformation discovered = manager.associate(discoveries);

// store the discovery information in the user's session for later use
session.setAttribute("discovered", discovered);

以上的调用将完成:
        • 下载OpenID提供者列表(一般只有一个提供者)。返回结果将按照用户指定的优选顺序排列。
        • 通过关联获取和OpenID提供者之间的共享密钥。
        • 将关联(发现信息)保存,以备之后的使用。

我们现在需要将用户重定向到他们的OpenID提供者页面,并告诉OpenID提供者外部站点的地址(返回URL,这里就是你的站点),以使OpenID提供者知道在执行完认证后将用户发送到哪里。

// define the return path
String returnURL = "http://company.com/openidresponse.jsp";

// generate an AuthRequest message to be sent to the OpenID provider
AuthRequest authReq = manager.authenticate(discovered, returnURL);

// redirect the user to their provider for authentication
httpResp.sendRedirect(authReq.getDestinationUrl(true));

上面的代码将用户重定向到他们的OpenID提供者,在那里用户将被询问是否同意和你的站点进行认证。(请注意:无论用户同意“临时”授权给你的web应用、还是“总是”或者“不”授权,OpenID提供者都将保存此首选标识)。当用户再次访问你的web应用时,如果用户已经被OpenID提供者认证过并且在首次认证时选择了“总是”,那么此用户将可以访问你的web应用,而无需再次认证。

在认证用户之后,OpenID提供者将用户重定向到外部站点(由返回URL定义的web应用),并发送认证回应信息给你的web应用,而你的web应用将需要接收此回应。你可以显示错误信息或者将用户发送到“成功”页面,这完全取决于你的工作流。

这是处理来自OpenID提供者认证信息的最简单过程:

// extract the parameters from the authentication response
// (which comes in as a HTTP request from the OpenID provider)
ParameterList openidResp = new ParameterList(request.getParameterMap());

// retrieve the previously stored discovery information
DiscoveryInformation discovered = (DiscoveryInformation) session.getAttribute("discovered");

// extract the receiving URL from the HTTP request
StringBuffer receivingURL = request.getRequestURL();
String queryString = request.getQueryString();

if (queryString != null && queryString.length() > 0)
   receivingURL.append("?").append(request.getQueryString());

// verify the response
VerificationResult verification = manager.verify(receivingURL.toString(), openidResp, discovered);

// examine the verification result and extract the verified identifier
Identifier verified = verification.getVerifiedId();

if (verified != null)
    // success, use the verified identifier to identify the user
else
// OpenID authentication failed

查看完整的Sample Consumer代码:http://code.google.com/p/openid4java/wiki/SampleConsumer

结论

OpenID是通过标准化认证方式由互联网社区催生出来的综合效应。它完成了和SAML这些现存协议同样的事情,但它却易于安装、部署和维护。任何具备基本编程技能的人都能够在其现有或者新建的网站上部署OpenID技术。

OpenID已经获得愈加广泛的使用。我们有理由相信,在不久之后的公司之间、像Google和Yahoo这样的门户站点之间都将支持此技术,OpenID技术将随着互联网社区的发展而成为网站之间通用的主流认证方法。
关于OpenID技术的更多信息,请访问:http://openid.net/

原文(《Using OpenID》)作者简介

Justen StepkaAtlassian的Crowd单点登录安全系统的项目管理者,同时也是OpenID4Java项目的提交者(committer)。Crowd团队目前正在开发实现OpenID2.0规范的服务站点。Justen从前是Authentisoft的CEO,该公司于2006年被Atlassian收购。

Shihab Hamid是在Atlassian工作的工程师,他主要负责用Crowd产品在OpenID集成方面的设计和开发。同时也是OpenID4Java项目的提交者。

相关资料

        • OpenID官方网站:http://openid.net/
        • OpenID工作过程:http://openid.net/about.bml
        • OpenID4Java项目主页:http://code.google.com/p/openid4java/wiki/ProjectHome_zh_CN
        • 下载OpenID4Java:http://code.sxip.com/openid4java/
        • 支持OpenID的各种代码库:http://www.openidenabled.com/
        • 目前支持OpenID的主要站点:http://iwantmyopenid.org/bounty/sponsors

固定链接:OpenID使用手册 |Add to Google       224 views

Ucenter home和openid,id的土洋戏词

web应用, 社交网络, 芳言芳语 发表评论

昨天晚上花了好长时间看了下openid的相关资料,并通过verisign使用了openid,it.liuhuafang.com现在是集成openid的博客了,只要访客有openid帐号,评论日志时候只需要填写地址就可以了。

openid是一个德鲁克式的社区,自由平等的开放式通行证系统,开放、离散式的用于用户数字标识的开源框架。它目前主要解决的问题是网友在不同站点需要大量注册,不容易管理,openid就是个通行证,无论到哪里,只要系统支持openid,你只需要输入openid即可,巧妙地解决了跨域、单点登录的问题。

3308873_0281d1d561_o.gif

在中国,也有一些年轻人在做类似openid的东西,这些人就包括康盛创想的戴志康,他们开发了一套叫做Ucenter home的产品,这个产品是一个纯正的通行证系统,完全可以整合康盛创想旗下的discuz、ss、ecshop等系统,对于门户、企业、创业者都是好东西。

不过,ucenter home 和openid还不一样,还不是跨域的,我想这主要还是考虑到安全性和一些中国互联网现实而保留了开放的尺度,从长远来看,戴志康还是会把ucenter home 做成跨域的大平台产品,也就是openid这样的产品。不知道朋友们是否注意到,ucenter home的 最高管理员的名称是不允许修改的,这是否意味着戴志康为openid化作的准备的呢?

其实,开放式有范围的、有步骤的,但是这是大势所趋,像facebook这样封闭sns不会加入openid,新浪博客啊、wordpress啊、zblog啊等等,早晚都要加入openid,构成全互联网的敏捷登录和反映。目前,谷歌的blogger和雅虎都加入了openid,不过雅虎的openid还处于beta期,一直不太好用,我试过好几次了,都扫兴而回,最后选择了verisign的pip。

59alm6vuvsctrh87uary.jpg

openid的海外流行和ucenter home的国内崛起,告诉我们互联网是信息社会,有价值的信息早晚要发生联系,我们谁都不能逃避,如鱼得水的人将成功。目前流行的twitter、国内的饭否、叽歪、滔滔等微博客产品也会不就整合到openid下,不出门找不到老婆,好女人总有很多人抢。

我自己搭建的openid服务器–dabaichi.com,大家可以注册体验一下,openid官方地址是http://openid.nethttp://it.liuhuafang.com是openid验证的站点。

相信我,没错的:sns火爆的同时,id将逐步流行。

固定链接:Ucenter home和openid,id的土洋戏词 |Add to Google       657 views

泉城在线开启中国地方社区sns风潮

社交网络 发表评论

济南地区的社区站点–泉城在线(92jn.com)目前在全国率先开启了地方社区的sns站点,为地方社区sns化打开了第一扇门。泉城在线刚测试一天每一个ip平均pv就高达30多次,效果令人欣喜,据泉城在线的运营方奥库传媒济南分公司反应,这是奥库传媒进军地方互联网的第一步。{ZHUAXIA48a0f89de3598fc995120d55f71125a3Union}

     泉城济南作为一个历史悠久的历史名城,一直没有让人满意的互联网社区,泉城在线借鉴了流行sns系统经验,进行了本土化改造,力求打造一个泉城人的完美生活平台。
92.jpg

固定链接:泉城在线开启中国地方社区sns风潮 |Add to Google       338 views

I believe:雅虎的未来是美好的

1, 社交网络 3 条评论

“I believe”是那个年代的电影韩剧《我的野蛮女友》的主题曲,今天这首歌送给雅虎,虽然最近被微软收购搞的焦头烂额,但是,I believe:雅虎的未来是美好的。

sns时代给了雅虎重新崛起的契机

在我以前的几篇文字里提过新浪的sns进程,同为门户网站的雅虎目前已经是一个比较大的sns了,雅虎收购的mybloglog一直我比较喜欢的sns,有全网通用sns的味道,前几天,Jerry的雅虎社区化表态更是让雅虎未来一下子变得清晰了。雅虎本身就是一个大的社区,如果按照现在的sns规则设计优化和整理,那么雅虎的社区价值将会爆发式增长,那么雅虎会有比谷歌更强的话语权。

facebook让谷歌害怕,雅虎社区化前途光明

谷歌在属于搜索引擎的年代里一家独大,但是目前互联网的发展似乎正在打破谷歌的霸权,facebook的出现把封闭sns推上了高潮,越来越多的人们生活在facebook这样的社区上,人们用搜索的频率开始下降了。所以,很多美国人把facebook当成谷歌的掘墓人是有一定道理的,sns是具备自身的文化张力和结构的,所以他们的粘性是搜索引擎不具备的,一定意义上sns是反搜索引擎的,他们向搜索引擎的spider说不!

雅虎的未来需要大社区化整合

雅虎的产品非常多,有的很好,也有很多废的,Jerry需要把雅虎的产品线整合一下,笔者认为雅虎要勇敢地做互联网整合者,努力把雅虎ID做成通用ID,做一个把互联网不同平台用户聚集的跨平台大社区。mybloglog就是这样的一个初级产品,不过还没有中文版,雅虎需要一种气魄,做领袖的气魄,去做未来社区化互联网的领袖。

I believe:雅虎的未来是美好的

微软不懂互联网,把雅虎留给Jerry吧,给他一些时间和宽容,我相信雅虎的未来是美好的。

固定链接:I believe:雅虎的未来是美好的 |Add to Google       485 views

中国SNS战斗并未结束,而是刚开始!

社交网络, 门户动态 发表评论

最近几日互联网上的大事莫过于千橡获得软银的4亿美金投资,4亿美金的确是一个不少的数字,软银有自己的理由,陈一舟也有自信的资本;不过,笔者不同意陈一舟关于“国内sns战斗已经结束”的说法!

第一:中国的sns只是刚找到了方向

sns的出现自然是很早的事情了,只是它的祖先可能不叫sns,是一个古老的名字或概念,那时候没有被发现和理解,所以长期以来一直处于安静地等待期。但是,我们不能否认的是氏族阶段的古老人群也是人,sns是关系表现在互联网信息时代的抽象态,只有信息发达的今天,sns才以信息组织方式产生价值,并改变了人们的生活和工作。

bbs是sns的初级形态,中国互联网在过去的岁月里处于bbs阶段,同时也诞生了像discuz这样专门bbs技术服务的公司,而现在sns变成了集blog 、bbs、circle、music、bookmark等于一身的综合服务,柳华芳更愿意把它称作一次信息整合革命,而不是终结者。这只是一个好的开始,而不是陈一舟所说的战斗结束;如果战斗结束,陈一舟穿着睡衣数金块就可以了,根本没必要融资,融资是为了战斗,为了准备更猛烈的战斗!

第二:SNS只是一个概念,而不是一个固态的结构

笔者不认为SNS就必须是fackbook那样的,myspace也是sns,QZONE也是sns,多种多样,绝对不是一个固定的完美蓝本。当年方兴东引进了博客,那个时候国外的博客也多是独立运营商在做,而国内也有blogcn等一大批独立运营商,那个时候很多人认为博客就是这个样子,就应该这样做;但是,没多久,新浪也做博客了,一年后搜狐也做博客了,现在柳华芳自己也有独立博客了,这时候我们想到了整合!

it.liuhuafang.com是用wordpress做的,wordpress预留了sns接口,以便未来走向sns化。其实,同样的事情也发生在门户网站博客,最近新浪作出了一系列社区化的动作,博论坛、魔方、空间等多个社区化产品诞生,所以我四月写了一个《新浪一个筋斗云跨入sns时代》,新浪的社区化战略预示着中国互联网开始全面进入sns时代了。

校内网目前是最大的真人社区,但是新浪、搜狐、网易、腾讯都是社区,他们都具备社区的价值,只是校内网的真人纯度使之有商务价值,而新浪等更多的是social media的价值。这两种价值很难用资本数量来衡量,但是他们都是sns的结构态,facebook式的真实不适合新浪,新浪的media式社区也不适合校内网。

第三:国内sns尚处于割据态,4亿美金是战略物资

笔者认为国内的sns还处于割据状态,各赚各的钱,各烧各的香,最聪明的人是51.com的庞升东和腾讯的马化腾。老庞在公众场合总是赞扬腾讯和校内,其实他的网站流量已经接近新浪;而马化腾则是no1,已经是sns的成功者,他更贼,一句话不说,闷着声赚钱。

千橡获得了4亿美金,主要因素在于校内网,校内网是目前中国噪声最小的大型社区站点,而陈一舟的猫扑是中国噪声最大的社区之一,陈一舟也算是横跨黑白两道的大哥了。获得了4亿美金的陈一舟想什么呢?

统一!陈一舟在想统一江湖,诸侯割据的局面是陈一舟不愿意再看下去的,陈一舟南下的时候快到了。

笔者观点:SNS领域不会大统一,理由就是我前面所说的sns也有不同的存在态,不同的存在态决定了不同质的粘性,而这就是战斗的核心。

固定链接:中国SNS战斗并未结束,而是刚开始! |Add to Google       439 views