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下svn命令使用大全(share)
    vi 编辑器命令 (share)
    如何成为一名优秀的前端工程师 (share)
    正则表达式入门教程&&经典Javascript正则表达式(share)
    动手学深度学习11- 多层感知机pytorch简洁实现
    动手学深度学习10- pytorch多层感知机从零实现
    动手学深度学习9-多层感知机pytorch
    动手学深度学习8-softmax分类pytorch简洁实现
    动手学深度学习7-从零开始完成softmax分类
    动手学深度学习6-认识Fashion_MNIST图像数据集
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879279.html
Copyright © 2011-2022 走看看