您的位置:首页 > 运维架构

OpenID流程概述及其与OAuth的区别

2014-12-19 11:44 183 查看
目前OpenID在互联网上已经讨论的比较充分,也有很多中文资料。其与OAuth的区别在网络上也有很多介绍。但是,我还是决定将使用OpenID登录的流程图画下来。并初步分析一下OpenID和OAuth之间的区别。

 



 

OAuth和OpenID的区别在于应用场景的区别,OAuth用于授权的,是一套授权(Authorization)协议;OpenID是用来认证的,是一套认证(Authentication)协议。两者是互补的。请允许我还是举那个老外的经典例子:

“OpenID:

1.用户希望访问其在example.com的账户

2.example.com (在OpenID的黑话里面被称为“Relying Party”) 提示用户输入他/她/它的OpenID

3.用户给出了他的OpenID,比如说"http://user.myopenid.com"

4.example.com 跳转到了用户的OpenID提供商“mypopenid.com”

5.用户在"myopenid.com"(OpenID provider)提示的界面上输入用户名密码登录

6.“myopenid.com" (OpenID provider) 问用户是否要登录到example.com

7.用户同意后,"myopenid.com" (OpenID provider) 跳转回example.com

8.example.com 允许用户访问其帐号

OAuth:

1.用户在使用example.com时希望从mycontacts.com导入他的联系人

2.example.com (在OAuth的黑话里面叫“Consumer”)把用户送往mycontacts.com (黑话是“Service Provider”)

3.用户在mycontacts.com 登录(可能也可能不用了他的OpenID)

4.mycontacts.com问用户是不是希望授权example.com访问他在mycontact.com的联系人

5.用户确定

6.mycontacts.com 把用户送回example.com

7.example.com 从mycontacts.com拿到联系人

8.example.com 告诉用户导入成功”

——以上引号部分引用自某“老外”

转:http://blog.csdn.net/huyiyang2010/article/details/6021798
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: