OAuth2.0是为了解决什么问题?
2016-03-27 23:01
393 查看
任何身份认证,本质上都是基于对请求方的不信任所产生的。同时,请求方是信任被请求方的,例如用户请求服务时,会信任服务方。
所以,身份认证就是为了解决身份的可信任问题。
在OAuth中,简单来说有三方:用户(这里是指属于服务方的用户)、服务方、第三方。
服务方不信任用户,所以需要用户提供密码或其他可信凭据;
服务方不信任第三方,所以需要第三方提供自已交给它的凭据(通常的一些安全签名之类的就是);
用户部分信任第三方,所以用户愿意把自已在服务方里的某些服务交给第三方使用,但不愿意把自已在服务方的密码交给第三方;
在oauth的流程中,用户登录了第三方的系统后,会先跳去服务方获取一次性用户授权凭据,再跳回来把它交给第三方,第三方的服务器会把授权凭据以及服务方给它的的身份凭据一起交给服务方,这样,服务方一可以确定第三方得到了用户对此次服务的授权(根据用户授权凭据),二可以确定第三方的身份是可以信任的(根据身份凭据),所以,最终的结果就是,第三方顺利地从服务方获取到了此次所请求的服务。
从上面的流程中可以看出,oauth完整地解决掉了用户、服务方、第三方 在某次服务时这三者之间的信任问题。
所以,身份认证就是为了解决身份的可信任问题。
在OAuth中,简单来说有三方:用户(这里是指属于服务方的用户)、服务方、第三方。
服务方不信任用户,所以需要用户提供密码或其他可信凭据;
服务方不信任第三方,所以需要第三方提供自已交给它的凭据(通常的一些安全签名之类的就是);
用户部分信任第三方,所以用户愿意把自已在服务方里的某些服务交给第三方使用,但不愿意把自已在服务方的密码交给第三方;
在oauth的流程中,用户登录了第三方的系统后,会先跳去服务方获取一次性用户授权凭据,再跳回来把它交给第三方,第三方的服务器会把授权凭据以及服务方给它的的身份凭据一起交给服务方,这样,服务方一可以确定第三方得到了用户对此次服务的授权(根据用户授权凭据),二可以确定第三方的身份是可以信任的(根据身份凭据),所以,最终的结果就是,第三方顺利地从服务方获取到了此次所请求的服务。
从上面的流程中可以看出,oauth完整地解决掉了用户、服务方、第三方 在某次服务时这三者之间的信任问题。
相关文章推荐
- 谷歌 Project Zero 团队宣布新政策,漏洞披露前将有完整的 90 天缓冲期
- 春节长假安全手册
- 地震避险自救常识
- 路由器安全有关的目录
- 打造个性_安全的电脑系统图文教程2第1/2页
- 路由器内的安全认证
- 加强php的安全之一
- http www安全必备知识
- SQLServer 2008中的代码安全(一) 存储过程加密与安全上下文
- C语言安全编码之数值中的sizeof操作符
- PHP安全上传图片的方法
- C#实现线程安全的简易日志记录方法
- php 编写安全的代码时容易犯的错误小结
- JSP应用的安全问题
- asp.net安全、实用、简单的大容量存储过程分页第1/2页
- 新安装的MySQL数据库需要注意的安全知识
- 用PHP书写安全的脚本代码