当前位置: 首页 > 服务器 > IBM > 解决方案 > OpenID一个去中心化的网上身份确认系统

OpenID一个去中心化的网上身份确认系统

2012-09-04 19:26 来源:风信网 作者:末信 人气指数: 我要评论

通过在身份提供者网站的认证而完成支持 OpenID 的网站的认证。WebSphere Portal 从 8.0 开始支持 OpenID,用户可以通过配置指定自己支持哪些 OpenID 身份提供者,在登录界面选择适当的身份提供者进行认证,从而达到认证 WebSphere Portal 的目的,进一步访问网站内的个性化信息和服务。

传统的身份认证是将用户信息存放在一个独立的系统中,可能是目录服务器,数据库,本地文件系统或自定义的系统。认证时,用户提供用户名和密码,与用户信息系统进行核对,确认用户是否合法。而 OpenID 是一个去中心化的网上身份认证系统。对于支持 OpenID 的网站,用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为 OpenID 身份提供者(Identity Provider)的网站上注册,通过在身份提供者网站的认证而完成支持 OpenID 的网站的认证,从而大大简化了身份验证过程。

任何网站都可以使用 OpenID 来作为用户登录的一种方式,任何网站也都可以作为 OpenID 身份提供者。因为 OpenID 既解决了问题而又不需要依赖于中心性的网站来确认数字身份,所以正在被越来越多的大网站采用,例如 Google, Facebook,myOpenID 和 Yahoo,他们都是 OpenID 身份提供者。目前主流的 OpenID 规范有两种,一种是 OpenID 2.0,一种是 OAuth 1.0。Google,myOpenID 和 Yahoo 采用的是 OpenID 2.0 规范,Facebook 采用的是 OAuth 1.0 规范。

OpenID 规范只定义了基本的认证机制,在应用当中,往往还需要与 OpenID 身份提供者之间进行用户属性的交换,因此在 OpenID 规范基础之上,还有两个关于属性交换的协议,SREG(Simple Registration)和 AX(Attribute Exchange)。SREG 只定义了一些常用的属性,例如 nickname,email 和 fullname。AX 更加复杂一些,它实际上可以交换任何信息,只要交换的双方都定义了该属性。

WebSphere Portal 8.0 对 OpenID 的支持

WebSphere Portal 作为一个信息提供者,从 8.0 版本开始支持 OpenID ,用户可以通过配置指定自己支持哪些 OpenID 身份提供者,在登录界面选择适当的身份提供者进行认证,从而达到认证 WebSphere Portal 的目的,进一步访问网站内的个性化信息和服务。从实现角度讲,WebSphere Portal 是基于 WebSphere 应用服务器的,WebSphere 应用服务器本身提供一种插入点——信任关联拦截器(Trust Association Interceptor,TAI),可以通过实现 TAI 来完成认证的交接,WebSphere Portal 8.0 正是实现了 TAI,从而在 WebSphere 应用服务器和 OpenID 身份认证者之间建立信任关系。另外,即使配置了 OpenID 身份提供者,WebSphere Portal 用户仍然可以按照原有的方式进行登录。

WebSphere Portal 中配置 OpenID 有两种方式,用户可以根据自己的需要选择一种方式将外部用户整合到 WebSphere Portal 中,当然二者也可以混合使用:

  1. WebSphere Portal 中的一个用户与 OpenID 身份提供者的一个用户绑定,二者一一对应。这种映射关系会存储到用户的属性中,具体存储在哪个属性里可以在 WebSphere Portal 中进行定制。
  2. 将 OpenID 身份提供者的用户整体作为一个 WebSphere Portal 用户。管理员可以统一为这些用户设置权限,而不需要他们在 WebSphere Portal 中重新注册用户。这种配置方式对用户使用来说需要的步骤较少,而管理员需要做更多的配置步骤。

这两种不同的配置方式中属性交换的配置位置是不同的。本文会以 OpenID 2.0 规范为例,具体介绍 WebSphere Portal 中配置 OpenID 的这两种方式和一些使用示例。

OpenID 身份提供者用户与 WebSphere Portal 用户一一映射的配置

这种配置方式中,OpenID 身份提供者的一个用户可以与 WebSphere Porta 的用户绑定,一一映射,例如 OpenID 身份者的一个用户名为 portal80user1,与 WebSphere Portal 的用户 user1 绑定。当然,这不意味着 OpenID 身份提供者的每个用户都与 WebSphere Portal 的用户映射,也不要求 WebSphere Portal 中的每个用户都与 OpenID 身份提供者的用户映射,这种映射关系可以由用户自身指定,因此它存储在用户的某个属性里,具体存储在哪个属性是可以定制的。

配置步骤

WebSphere Portal 可以同时配置多个 OpenID 身份提供者,例如 Google,Yahoo 和 myOpenID,管理员可以决定选择与哪些 OpenID 身份提供者配置。但在配置之前,必须保证 WebSphere Portal 服务器的系统时间是正确的。假定 WebSphere Portal 服务器是安装在 Linux 操作系统上,管理员希望配置 Google 和 Yahoo 两个 OpenID 身份提供者,具体配置过程如下。

1. 运行 enable-identityprovider-tai 任务

首先管理员需要运行 enable-identityprovider-tai任务:

 ./ConfigEngine.sh enable-identityprovider-tai -Didp.providerlist=openid \
 -Dopenid.servicenames=Google,Yahoo -Dopenid.servicenames.endpoints=\
 https://www.google.com/accounts/o8/id,http://me.yahoo.com \
 -DWasUserId=wpsadmin -DWasPassword=wpsadmin

该任务中使用的定制参数含义如下:

  • -Didp.providerlist

    指定支持的 OpenID 身份提供者类型列表。如果是配置 Google 和 Yahoo 等满足 OpenID 2.0 规范的身份提供者,那么该参数值是 openid ,如果是配置 FaceBook 等满足 OAuth 1.0 的身份提供者,那么该参数值是 facebook。在我们的假定情况下,这个参数应该是 openid。

  • -Dopenid.servicenames

    如果配置 OpenID 2.0 的身份提供者,该参数应列出需要配置的身份提供者列表。在我们的假定情况下,这个参数应该是 Google,Yahoo。

  • -Dopenid.servicenames.endpoints

    OpenID 身份认证者的端点 URL,如果配置了多个身份认证者,这里应该一一列出,所以这个参数列表中参数的个数应该和 -Dopenid.servicenames一致。在我们假定的情况下,这个参数应该是 https://www.google.com/accounts/o8/id,https://me.yahoo.com/。

值得注意的是,这个任务是可以反复运行的,第二次运行的结果会覆盖前一次,也就是说,如果用户想增加一个支持的 OpenID 身份提供者,在重新运行这个任务时,必须在参数中把原有的身份提供者和新增的身份提供者都列出。

其他相关的新闻

大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

芈月传 老司机玩法 萌乐网 黑科技 坐骑揭秘 三国令 铁血皇城 竞技场攻略 书剑恩仇录 披风玩法 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 哥们网 天书世界 奇珍商城 热血战歌 传奇宝藏抽奖 门徒 范伟打天下 打开方式 门徒获取玩法 三大萌宠简介 新手攻略 挂机系统简介 材料副本 大海战 鸵鸟 大黑 激情玩法 门徒战力提升 万世 强化属性 上古降魔 提升战力 装备攻略 九阴绝学 品质推荐 老干妈 激战来袭 大黑游戏 新服亮点 福利多多 画江山 资料片 玩家 九阴真经 江湖儿女 真实场景 现实 虚拟 随机副本 风色轨迹 听天由命 ppwan 神助攻 武林秘药 激活八大脉门 九天劫变 猎命格 天问 大型PVP 花千骨 激战更尽兴 网易mumu 手游玩家 安卓模拟器 安卓 单挑群战 武侠传说 女神 孙尚香专访 胸猛抱团 新游 占山为王 跨服城战 蜀山战纪 剑雨江湖 攻略 实时VR交互 七大女神代言 酷炫走江湖 世界四大杀手 玩家专访 三国经典 大制作 好玩网页游戏 盘点 宇宙霸主 境界玩法 莽荒纪 勇闯难关 镜像副本 荒漠霸主 装备精通 三大战役 鹌小彦奇谈