OpenID 和 oauth和openid 有什么区别

Telnic 通过 hCard、OAuth 和 OpenID 增加 .tel 数据便携性 -美通社PR-Newswire
Telnic 通过 hCard、OAuth 和 OpenID 增加 .tel 数据便携性
Telnic 通过 hCard、OAuth 和 OpenID 增加 .tel 数据便携性
-- Telnic 增加对 DataPortability Project 的支持
伦敦日电 /美通社亚洲/ -- 专注于通信领域的获奖顶级域名 (TLD) .tel 的注册运营商 Telnic Limited ( http://www.telnic.tel ) 今天宣布所有 .tel 域名现在支持 hCard 微格、OpenID 以及 Open Authentication (OAuth)。此外,Telnic 还宣布支持 DataPortability Project ( http://dataportability.org ),将其协议添加到 Portability Policy Initiative 中。
Telnic Limited 首席技术官兼首席战略官 Henri Asseily 表示:“通过这些改进,.tel 的拥有者可以更容易被发现,并开始在使用他们 .tel 域名时享受到更多的服务,这使他们能够从中获益。随着推出对这些标准的支持,.tel 作为单一的多服务权威在线信息渠道,对个人而言更加有用也更易于管理。”
Telnic 也在 http://www.telnic.org/portabilitypolicy.html 公布了其 Data Portability Policy(数据便携性策略)。DataPortability Project 主席 Elias Bizannes 表示:“Telnic 对这些开放标准的支持实现了真正的互操作性 -- 企业可以将其产品与 Telnic 套件整合,以最小的努力实现未来功能的最大化。通过同样采用可携性策略,伴随着他们的演进他们可以更清晰地与利益相关方进行沟通。”
hCard 是一种借助第三方技术用于出版和阅读个人、企业或组织联络信息的微格。这种格式现在在 .tel 域名得到了自动支持,域名所有者不需要采取任何行动。
OpenID 是一个开放而分散的用户验证标准,可以用于访问控制,允许用户登录到具有相同数字身份并信任验证机构的不同服务。从今天起,.tel 所有者可以使用 http://yourname.tel 和他们 .tel 域名的用户名和密码作为验证登录到许多支持 OpenID 的在线服务。
OAuth 允许用户授权第三方网站访问存储于其他服务提供商的信息,而无需共享他们的访问权限或他们数据的完整度。这将能够向 .tel 社区提供服务,使用多种第三方工具以安全、简单而可靠的方式管理他们的 .tel 域名。
垂询更多有关 .tel 的信息请访问 http://telnic.org
有关 Telnic Limited 的信息请访问 http://about.telnic.tel
消息来源: Telnic Limited
扫描二维码分享到微信
相关关键词:
多媒体新闻OpenID说明
一、OpenID介绍
字段类型:字符型
功能说明:OpenID,它是用户的唯一标识,根据APPID以及天翼账号用户标识生成,即不同的APPID下,同一个天翼账号用户标识生成的OpenID是不一样的,一个用户在同一个应用中多次反复授权/取消授权时,平台为用户只分配一个OpenID,以便于应用了解用户情况。
使用场景:第三方应用使用天翼账号登录时,需要将第三方应用账号与天翼账号进行账号绑定。第三方应用基本逻辑如下:
1.&应用验证此OpenID是否已经与本身应用帐号绑定,如果已经绑定,用可用天翼账号直接登录第三方应用;&
2.&若此OpenID未与应用账号绑定,可以让用户选择绑定帐号(第三方自身应用账号可能多个);若用户未创建过应用的帐号,可以自动为用户创建帐号或者引导用户注册帐号。用户进行绑定后,将OpenID与此应用帐号绑定。
3.&第三方应用需要存储OpenID与应用帐号之间的对应关系,该用户下次访问时可以通过OpenID取出对应的帐号,帮助用户登陆。
如何获取:可通过能力开放平台提供的如下接口进行获取openid:
授权接口,具体参见()通过IG/AC模式下进行获取openid。
1)AC模式获取
https://oauth./emp/oauth2/v3/authorize?app_id=&redirect_uri=/oauth_redirect&response_type=code
成功应答范例:天翼开放平台将用户浏览器重定向至redirect_uri,并返回用户ID及AC授权码。
1)IG模式获取
https://oauth./emp/oauth2/v3/authorize?app_id=&app_secret=abcdefghijk&redirect_uri=/oauth_redirect&response_type=token
成功应答范例:天翼开放平台将用户浏览器重定向至redirect_uri,并直接返回AT访问令牌
二、天翼账号认证(OAuth)接口改造说明
老版本的天翼账号认证(OAuth)接口将于6月30日,停止使用。如果您的程序中调用了老版本的天翼账号认证(OAuth)接口,则需要在日前完成应用改造。
改造时需要(第三方应用)做如下的工作:
1.第三方系统中有使用如下接口的:
https://oauth./emp/oauth2/authorize,
https://oauth./emp/oauth2/access_token,
https://oauth./emp/oauth2/logout
这三个接口的地址分别升级为v2版本,地址分别如下:
https://oauth./emp/oauth2/v2/authorize,
https://oauth./emp/oauth2/v2/access_token,
https://oauth./emp/oauth2/v2/logout
这三个接口的地址分别升级为v3版本,地址分别如下:
https://oauth./emp/oauth2/v3/authorize,
https://oauth./emp/oauth2/v3/access_token,
https://oauth./emp/oauth2/v3/logout
2.接口中原接口返回puser_id参数的全部替换为open_id,其他参数不变。
3.对于原来接口中获取puserid的值需要转换为openid,通过如下接口进行转换:https://oauth./emp/oauth2/get_open_id?app_id=xxxxx&p_user_id=xxxxx&redirect_uri=xxxxx
三、常见问题分享
1.什么是OpenID?
OpenID,它是用户的唯一标识,根据APPID以及天翼账号用户标识生成,即不同的APPID下,同一个天翼账号用户标识生成的OpenID是不一样的。
2.OpenID是否唯一?
OpenID根据应用标识(APP_ID)以及旧有的用户标识(P_USER_ID)生成,在每个应用中都是唯一,作为用户的唯一标识。
3.是否能通过OpenAPI直接获取用户手机号?
不能。用户在应用中的唯一标识是OpenID,天翼开放平台不提供用户的手机号。
增值电信业务经营许可证A2.B1.B2- [京网文[1号] | 京ICP备号
Copyright & 中国电信集团 版权所有您的位置: &
  本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。
  1、OAuth的简述
  OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的。(我喜欢简单明了,这里没看懂,没关系,接着往下面看)
  2、OAuth的原理
& & & & & & & & & & & & & & & & & & & & & & & & & & & & &(流程图)
  我在图上分了四个步骤,下面是四步的讲解:
  第一步:用户访问第三方网站,比如:就是你需要使用QQ进行登录的网站;
  第二步:你点击QQ登录后,第三方网站将会连接并进行请求,比如:你点击登录后,第三方网站会跳转到QQ平台,提示你进行登录;
  第三步:你要进行授权第三方网站对你的信息访问的一个权限,比如:当你QQ登录成功后,QQ会提示你,是否授权第三方Web访问你的用户基本信息或其他的资源信息,这时你点击授权即可;
  第四步:授权后,第三方Web即可访问你刚才授权的资源信息,比如:你的QQ基本信息-头像、昵称、性别等。
  通过这个原理图示及讲解(图是手工制作,有点草),相信大家都了解了OAuth这个原理的一个基本流程,若看不明白,你可以不用学习制作OAuth了,开个玩笑。(这步后,大家知道什么原理了,但还是无法知道OAuth究竟是如何实现认证的,别急,接着往下看)
  3、OAuth 1.0的认证流程
  这里直接讲解OAuth 1.0协议的认证机制(OAuth 2.0会在下一节中讲述),虽然现在很多平台都是遵循OAuth 2.0,但还是有开放OAuth 1.0平台的,比如:新浪微博、QQ1.0平台等。
  在OAuth 1.0认证中会用到三个重要的Url:
  第一个:Request Token Url,获取未授权的Token的Url;
  第二个:User Authorization Url,请求用户对Token进行授权的Url;
  第三个:Request Access Url,使用Token获取Access Token的Url。
  上面是认证流程中用到的三个Url,在下面的流程示意图中会体现到,这是我讲解OAuth幻灯片的一页,直接截图下来进行讲解:
  第一步:网站向认证平台请求一个未授权的Token,这个Request Token&Url是前面说的第一个Url;
  第二步:跳转至用户授权页面,提示用户进行登录,并进行授权,返回获得已授权的Token,用到的User Authorization&Url是前面说的第二个Url;
  第三步:通过已授权的Token,向认证平台请求Access Token(数据令牌),用到的Request Access&Url是前面说的第三个Url,返回后到这步整个认证流程就结束了,最后一步,是通过数据令牌等参数,调用接口获取用户信息,不完全算认证的流程。(我喜欢简洁明了,认证流程就是这样,相信通过图示及讲解都能明白,若有不明白之处请留言)
  4、QQ OAuth1.0认证中Url的调用及参数的传递
  前面讲了OAuth1.0的机制原理及认证流程,这篇文章着重讲解QQ OAuth1.0认证中Url的调用、各参数的传递、注意事项。而因为现在QQ开发平台上,已经很少能找到OAuth1.0认证的说明开发文档了,采用新的2.0认证模式,所以简单讲述Url请求与返回参数的传递,并没有很详细深入地讲解,有什么问题大家可留言给我。
  4.1、请求未授权的临时Token
  新建一个页面为QQLogin.aspx,用来请求临时Token及跳转到用户授权页。下面是相关Url及参数介绍:
  Request Token Url(请求临时Token的Url):http://openapi./oauth/qzoneoauth_request_token
  请求后,跳转至引导用户登录的Url:http://openapi./oauth/qzoneoauth_authorize
  第一个Url请求参数包含如下内容:(红色为必填、绿色为选填)
oauth_consumer_key
申请QQ登录成功后,分配给网站的appid
oauth_nonce
随机字符串,所有oauth_nonce请使用int型值。
oauth_timestamp
unix时间戳(从UTC时间日00:00:00到当前时刻的秒数,不同语言中如何获取请google/baidu之)。
注意第三方服务器时间与腾讯服务器时间相差不能超过5分钟。
oauth_version
版本号,请固定使用1.0
oauth_signature_method
签名方法,请固定使用HMAC-SHA1。
oauth_signature
签名值,用来提高传输过程参数的防篡改性。
签名值的生成详见
oauth_client_ip
用户的IP地址(可选),int型
  返回的参数有:oauth_token(临时令牌)、oauth_token_secret(临时密钥对应的令牌)
  第二个Url需要传递的参数为:
oauth_consumer_key
分配给网站的appid。
oauth_token
上一步中,得到的oauth_token
oauth_callback
回调地址,即登录并授权后返回到你网站上的地址。
  返回的参数有:
oauth_token
已授权的token
与APP通信的用户key,它和QQ号码一一对应,访问OpenAPI时必需。
同一个QQ号码在不同的应用中有不同的OpenID。&
oauth_signature
签名值。如果网站使用这一步返回的openid,则需要按规则生成签名值,并与该签名值比对,以验证openid以及来源的可靠性。
比对时生成签名值的规则:使用HMAC-SHA1算法,源串:openid+openid的timestamp(串中间不要添加'+'符号);密钥:oauth_consumer_secret。
openid的时间戳
oauth_vericode
授权验证码。
  4.2、请求Access Token数据令牌
  上一步中,我们写了一个回调地址,并顺利得到一些参数,下面就是拿这些参数来进行下一步操作,首先,得到数据令牌(只有拿到数据令牌才可以调用接口获取用户信息)。
  Request Access Url(获取Access Token请求Url):http://openapi./oauth/qzoneoauth_access_token
  Url请求参数包含如下内容:
oauth_consumer_key
分配给网站的appid
oauth_token
已授权的的token,上一步返回的oauth_token
oauth_nonce
oauth_timestamp
unix时间戳(从UTC时间日00:00:00到当前时刻的秒数,不同语言中如何获取请google/baidu之)
oauth_version
版本号,请固定使用1.0
oauth_signature_method
签名方法,请固定使用HMAC-SHA1
oauth_signature
签名值,用来提高传输过程参数的防篡改性。
签名值的生成详见
oauth_vericode
授权验证码,上一步返回的oauth_vericode
oauth_client_ip
用户的IP地址(可选),int型
  返回的参数如下:
oauth_token
具有访问权限的access_token
oauth_token_secret
access_token的密钥
在第一步和本步骤中都返回了openid。使用本步骤返回的openid,更为安全
openid的时间戳
oauth_signature
针对openid的签名值
  4.3、通过Access token(数据令牌)调用API接口,获取用户授权资源
  请求Url:http://openapi./user/get_user_info&(这里默认写的是get_user_info接口)  请求参数:
oauth_consumer_key
分配给网站的appid
oauth_token
上一步返回的oauth_token
oauth_nonce
随机数,int型
oauth_timestamp
unix时间戳(从UTC时间日00:00:00到当前时刻的秒数,不同语言中如何获取请google/baidu之)。
oauth_version
版本号,固定使用1.0
oauth_signature_method
签名方法,固定使用HMAC-SHA1
oauth_signature
签名值,用来提高传输过程参数的防篡改性。
签名值的生成详见
上一步返回的openid。
oauth_client_ip
用户的IP地址(可选),int型
  好了,上面就是整个QQ OAuth1.0认证流程中Url参数的请求与返回说明,这OAuth1.0认证中,你会发现参数特别多,还有经过HMAC-SHA1加密、签名等操作,特别麻烦、繁琐,所以还是最好推荐使用OAuth 2.0认证协议进行接口开发。
  下面这篇文章是QQ登录制作过程中,公共返回码说明(包含1.0、2.0),供大家参考,看是哪个阶段出错,然后对症下药,特别是参数的请求、传递是否正确,还有一个参数顺序、签名是否正确,这四点弄好,相信这个东西自然就实现了。
  OAuth_QQ登录_公共返回码说明:。
  最后将自己开发制作的OAuth 1.0源代码分享给大家,代码分享:。
  5、OAuth2.0的认证流程
  在OAuth2.0的处理流程,主要分为以下四个步骤:
  1)得到授权码code
  2)获取access token
  3)通过access token,获取OpenID
  4)通过access token及OpenID调用API,获取用户授权信息
  上面是流程的大概四个步骤,在下面的流程示意图中会得到体现,这是我制作的一个幻灯片的流程图(文章最后会附上制作的OAuth幻灯片分享给大家),这里就直接截图下来进行讲解:
  第一步:首先直接跳转至用户授权地址,即图示 Request User Url ,提示用户进行登录,并给予相关资源授权,得到唯一的Auth code,这里注意的是code只有10分钟的有效期,对于安全考虑,相对于OAuth 1.0省了一步获取临时的Token,并且有效期也进行了控制,比1.0认证简化了很多,并安全一些;
  第二步:得到授权code后,这一步就是请求access token,通过 图示 Request access url ,生成得到数据Token;
  第三步:通过Access Token请求OpenID,OpenID是用户在此平台的唯一标识,通过图示 Request info url 请求,然后得到OpenID;
  第四步:通过第二步得到的数据Token、第三步得到的OpenID及相关API,进行请求,获取用户授权资源信息。(我喜欢简洁明了,OAuth2.0认证流程就是这样,相信通过图示及讲解都能明白,若有不明白之处请留言)
  最后,分享自己关于OAuth1.0、2.0认证流程讲解的幻灯片,结合文章来看,你会更容易理解。
  课件分享:&(麻烦保留博主信息,谢谢)
上一篇:下一篇:

我要回帖

更多关于 微信 oauth2.0 openid 的文章

 

随机推荐