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插件:

  • 相关阅读:
    Linux常用快捷键
    如何Oracle 数据库备份与恢复
    Linux常用命令解释
    转摘:商业智能BI的演绎型需求和归纳型需求BI三维框架之内容维研究
    PHP中const的使用
    PHP中define的使用
    Apache配置正向代理与反向代理
    正向代理
    JAVA System.getProperty()参数
    PHP查找当前URL文件扩展名
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879279.html
Copyright © 2011-2022 走看看