`
hongan
  • 浏览: 175712 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

[转]OpenID简介

阅读更多

一、什么是OpenID
OpenID是由LiveJournal和SixApart开发的一套身份验证系统。与目前流行的网站帐号系统(Passport)相比,OpenID具有开放性以及分散式的特点。它不基于某一应用网站的注册程序,而且不限制于单一网站的登录使用。OpenID帐号可以在任何OpenID应用网站使用,从而避免了多次注册、填写身份资料的繁琐过程。简单言之,OpenID就是一套以用户为中心的分散式身份验证系统,用户只需要注册获取OpenID之后,就可以凭借此OpenID帐号在多个网站之间自由登录使用,而不需要每上一个网站都需要注册帐号。

目前互联网上的帐号管理方式有两种:1、单一帐号系统。一些只提供单一服务的网站采用的用户帐号管理模式。用户注册后使用此帐号可以在其网上上实现所有功能操作。2、通行证。例如google、163、微软等提供多套服务的网站采用的帐号管理程序。用户在注册一次之后,使用该帐号可以在这些网站所属群里面自由使用。这两种模式形象的说就是故宫场景门票和通票的样子:门票只能进一个场景;通票可以进包含的故宫的所有场景。

而OpenID不是这样的。它比普通的通票更扩大化。使用OpenID你不仅可以在故宫所有场景自由玩,还可以在颐和园游玩。也就是说OpenID不局限于某一个网站或者网站群,它可以在任意OpenID应用网站中自由穿梭。

OpenID的官方网址为:http://openid.net(英文)。

二、OpenID的工作原理简述
假设你已经拥有一个在A网站注册获得的OpenID帐号,B网站支持OpenID帐号登录使用,而且你从未登录过。此时你在B网站的相应登录界面输入你的OpenID帐号进行登录的时候,浏览器会自动转向A网站的某个页面进行身份验证。这时你只要输入你在A网站注册时候提供的密码登录A网站,对B网站进行验证管理(永久允许、只允许一次或者不允许)后,页面又会自动转到B网站。如果你选择了允许,那就会登录进入B网站。(选择不允许就。。。)这个时候你就可以以你的OpenID帐户身份实现B网站的所有功能。

这里描述的是简单的B-A-B的过程,实际操作会更简单明了。下图显示的是多个OpenID应用网站与你的OpenID帐号的关系。
openid工作原理
其中A过程中实现了你的身份验证以及相应个人资料的选择。也就是说你使用A网站提供的一个OpenID帐号实现了B、C、D、E、F网站的登录操作。

三、OpenID的两种模式
在OpenID简易流程中你可以看到是多个网站围绕一个网站提供的帐号进行活动,在上面的例子中B-F等网站称之为OpenID应用网站,是指支持OpenID帐号登录使用全部网站功能的网站。而例子中的A网站就是OpenID服务网站,是指提供OpenID帐号注册服务的。

OpenID应用网站和服务网站是可以相同的,也就是说一个网站即可以提供OpenID帐号注册也可以提供OpenID帐号使用。

目前OpenID的服务网站的增长速度远远超过了应用网站,你可以在OpenID providers页面查看服务网站列表,或者到OpenID服务商和支援网站列表查看我挑选出来的OpenID服务网站和应用网站。

分享到:
评论

相关推荐

    OpenID简介及与struts2_spring_hibernate框架集成

    简介 - 2 - 1.1. 产生背景 - 2 - 1.2. 作用 - 2 - 1.3. OpenID是什么 - 2 - 第二章 技术介绍 - 3 - 2.1. 支持技术 - 3 - 2.2. 协议 - 4 - 2.2.1. Relying Party站点请求用户标识 - 5 - 2.2.2. “标准化”: Relying ...

    OpenID的Java客户端 JOpenID_OpenID_java_

    **一、OpenID简介** OpenID的核心理念是让用户拥有自己的身份,而不是在每个网站上创建独立的账号。它通过URL作为身份标识,用户可以将这个URL链接到提供OpenID服务的验证服务器(也称为身份提供者)。当用户尝试...

    易语言-cookie转openid例子

    在这个"易语言-cookie转openid例子"中,我们将探讨如何使用易语言处理网络请求,特别是从cookie中提取数据并转化为openid的过程。这个过程在很多需要用户身份验证的网络应用中是非常常见的。 首先,我们要理解...

    openid资料大全

    这个压缩包“openid资料大全”显然是关于OpenID及其相关技术的学习资源集合。 OpenID的核心理念是分散式身份验证,用户不再需要在每个服务提供商处存储和保护自己的账户信息,而是通过一个信任的“身份提供商”来...

    php-openid-2.1.3

    用户只需要注册一个OpenID提供商(通常称为OP),然后可以使用这个提供商的URL作为身份标识,在支持OpenID的网站上进行登录。这样,用户不再需要记住每个网站的用户名和密码,减少了密码管理的复杂性,并降低了因...

    C#获取openid(详解)

    本代码作用于前后端分离获取微信openId,调用说明:在api中新建一个Default.aspx页面,复制文件中代码到页面中,修改appid,key,webAddr值。部署api;前端跳转url:api地址+“/efault.aspx?reurl="+前端页面地址;如果...

    PHP获取微信公众号用户的Openid

    PHP如何获得Openid,微信公众号通过appid和appsecret获取Openid,该类实现了从微信公众平台获取code、通过code获取openid和access_token、

    java微信获取OpenId

    微信开发获取openId

    openID sample server

    sample openID

    腾讯qq 的openId java版

    OpenID是一种开放标准,允许用户使用一个统一的身份(即OpenID)在多个网站上进行身份验证。这种方式减少了用户记住多个用户名和密码的负担,同时也为网站提供了安全的身份验证方法。 在Java中实现QQ OpenID,主要...

    OpenID教程 项目集成

    这个教程将深入探讨如何将OpenID集成到您的项目中,帮助您为用户提供更加方便、安全的身份验证体验。 一、OpenID基础 1. **OpenID原理**:OpenID的核心思想是用户拥有自己的身份URL(Uniform Resource Identifier...

    实现对OPENID的支持

    现在openid正在兴起,这个可以让你的网站也支持openid

    获取微信openid的工具类

    在微信开发中,获取OpenID是一项基础且重要的任务。OpenID是微信用户在微信平台上的唯一标识,它用于区分不同的用户。本工具类主要用于帮助开发者便捷地获取微信用户的OpenID,以便实现用户登录、授权等功能。以下是...

    php获取微信code.openid.名字和头像

    2. **获取openid**:收到code后,你需要向微信API发送POST请求,换取access_token和openid。这通常在回调函数中完成。代码如下: ```php function get_access_token_and_openid($code) { $url = ...

    获取微信openid工具类

    在IT行业中,微信OpenID是一种标识用户在微信生态系统中的唯一标识符。这个工具类的目的是帮助开发者方便地、静默式地获取用户的OpenID,从而实现与微信平台的无缝对接。静默式获取意味着用户无需进行额外的操作,...

    Java的OpenID服务器 JOIDS

    Java的OpenID服务器JOIDS(Java OpenID Server)是一个基于Java开发的身份验证解决方案,它实现了OpenID协议,允许用户在不共享个人详细信息的情况下,在不同的网站之间进行身份验证。OpenID是一种分散式身份验证...

    php-微信公众号联合登录&微信小程序获取openid&头条获取openid

    php-微信公众号联合登录&微信小程序获取openid&头条获取openid,遇到问题可以@我

    OpenID与OAuth协议详解

    1.1 **OpenID简介** OpenID的核心理念是让用户自己控制他们的身份信息,而不是将其交给单个服务提供商。用户可以选择自己的身份提供者(Identity Provider, IDP),而依赖方(Relying Party, RP)网站则可以信任这些...

    Python库 | plone.app.openid-2.1.0.zip

    《Python库:深入理解plone.app.openid-2.1.0》 在Python的世界里,库是构建强大应用程序的基础,它们提供了丰富的功能,让开发者能够高效地编写代码。plone.app.openid-2.1.0是一个专门针对OpenID身份验证的Python...

    微信获取用户openid

    微信获取用户openid,微信获取code,直接载入类,跳转后就可获取到用户的openid

Global site tag (gtag.js) - Google Analytics