zoukankan      html  css  js  c++  java
  • OAuth和OpenID的区别

    简短的说,OAuth关注的是authorization;而OpenID侧重的是authentication。从表面上看,这两个英文单词很容易混淆,但实际上,它们的含义有本质的区别:

    • authorization: n. 授权,认可;批准,委任
    • authentication: n. 证明;鉴定;证实

    OAuth关注的是授权,即:“用户能做什么”;而OpenID关注的是证明,即:“用户是谁”。下面就分别来说两者的功能。

    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 告诉用户导入成功

    OpenID是用来验证的,就是说可以用一个url来唯一表明身份(不用挨个记每个网站的用户密码)。OAuth是用来授权的(俺可以授权一个网站访问俺在另外一个网站的数据,而俺不用把俺的密码给第一个网站。

    很多人现在错误的把OAuth当做OpenID使用。但是其实也不会照成什么影响。如水煮鱼开发的WordPress插件:

  • 相关阅读:
    夏普比率(Sharpe Ratio)
    资管产品与信托产品区别
    通道业务是什么业务?怎么做到为银行做资产从表内到表外的流动性搬运?
    什么是MBS,ABS和CDO
    Oracle的OFA架构
    oracle-TNS是什么?
    Windows 如何在cmd命令行中查看、修改、删除与添加环境变量
    oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
    linux下安装oracle
    金融人物
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879279.html
Copyright © 2011-2022 走看看