OAuth协议与OpenID协议的区别
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> OAuth关注的是 authorization ;而OpenID侧重的是 authentication 。从表面上看,这两个英文单词很容易混淆,但实际上,它们的含义有本质的区别: authorization: n. 授权,认可;批准,委任 authentication: n. 证明;鉴定;证实 OAuth关注的是授权,即:“用户能做什么”;而OpenID关注的是证明,即:“用户是谁”。 如果混淆了OAuth和OpenID的含义,后果很严重。以国内某网站开发的应用为例:它的功能是通过OAuth授权让新浪微博和豆瓣的用户使用各自的身份发表评论, 如下图所示(错误的把OAuth当做OpenID使用) : 此类应用属于身份证明问题,本应该通过OpenID来实现,但因为错误的使用了OAuth,从而带来安全隐患 :设想一下用户只是在网站上发表了评论而已, 但却赋予了网站随意操作自己私有数据的权利!这就好比: 快递员送包裹,为了证明收件人的身份,原本你只要给他看一下身份证即可,可你却把防盗门钥匙都给他 了!Oh,My God! 来源: oschina 链接: https://my.oschina.net/u/168814/blog/488653