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

          在项目开发中,我们经常说授权认证,经常把他们放到一起去描述,那两者在本质上是有区别的,OpenID和OAuth就是我们说的认证和授权。

    OpenID:Authentication 认证

    OAuth :Authorization   授权

           如今越来越多的网站,以及一些应用程序都开始使用第三方社交平台账户登录,那这里就会涉及到安全性的问题,隐私的问题,你不能随意来获取我的资料,当然你来使用我的资料,你要经过用户的同意,那这个用户是不是我平台上,还是要来向我求证,那在这个过程中,实际上就出现了两个过程,我们还是直接使用上次的例子来说明,比较直观,CSDN使用QQ登录,进入csdn的登录页,点击使用QQ登录:

      

           在进入到QQ登录界面后,最开始是要请求认证,用户输入QQ号和密码,点击登录,腾讯互联会先进行验证该用户是否为我的用户,如果是我的用户,那么我会通知你(CSDN),他是我的用户,你可以使用该账户登录你的系统,这个过程就是认证(Authentication),认证就是证明你是谁,你是否是真实存在的,就好像,快递员来给你送快递,让你出示你的身份证,他确定你是本人后,把快递给你,这就是OpenID。

          而在QQ授权登录下方,有两给CheckBox复选框,可以允许CSDN获得您的昵称、头像、性别,这是在认证之后的事了,在腾讯互联你是我平台的用户后,你可以自己选择CSDN是否有权去获取你的相关信息,当你勾选后,腾讯互联就把你的这些基本信息给了CSDN,这个过程就是授权(Authorization),授权就是确定了你是谁后,又把属于你的东西给了别人,犹如你向快递员出示了身份证,然后你又把你房门的密码给了他,并告诉他说,我把房门密码给你,你帮我放到我客厅里吧。

            不管是认证(Authentication)还是授权(Authorization),都是很重要的,他涉及到两个平台之间的信息共享问题,还有用户的隐私,现在大多数第三方平台,特别是社交平台,都有自己的开放平台,也允许其他的平台去使用我的信息,特别是对我们初次登录的购物网站、论坛等等,这种方式也为我们省去了重新注册的麻烦,反正对于我来说,如果一个网站没有第三方登录,我都不乐意去他的平台上注册,太麻烦。但是也有的平台让你使用第三方登录后,还要你再填写一些邮箱、手机号等信息,因为毕竟第三方开放平台能给这些平台授权的信息是有限的,而这些平台还要想你更多的信息,也实属无奈,虽然这样做,也让我们心生厌恶。

           关于OpenID和OAuth的区别,就写这么多吧,仅代表个人观点,有什么不对的地方请大神们多指正。后面的文章我会继续写关于认证和授权的示例。

    扫描二维码关注我的公众号,共同学习,共同进步!

  • 相关阅读:
    在单机Hadoop上面增加Slave
    两台机器添加信任关系
    JS Scoping and Hoisting
    SCSS(SASS、CSS)学习
    程序的内存情况
    delete-node-in-a-bst
    serialize-and-deserialize-bst
    Linux Shell脚本编程--curl命令详解
    iOS文件保存策略
    浅谈spring——spring MVC(十一)
  • 原文地址:https://www.cnblogs.com/Allen0910/p/8675157.html
Copyright © 2011-2022 走看看