zoukankan      html  css  js  c++  java
  • BasicAuth和OAuth

    参考资料

    百度百科BasicAuth
    维基百科OAuth

    BasicAuth基本授权

    BasicAuth又叫HttpAuth,它非常简单。例如你访问一个页面时,会弹出用户名密码框

    它的优点是:简单,只要维护好用户名密码的安全性即可

    访问使用BasicAuth的页面时,可以很简单的填写用户名和密码。许多开源HTTP请求库都提供BasicAuth的接口。
    下面以Python中的requests库为例:

    requests.get("http://usrname:password@www.baidu.com")
    requests.get("http://www.baidu.com",auth=("usrname","password"))
    

    OAuth:授权方式的开放标准

    主要用途:一些拥有API资源的大户(比如微信、百度语音等),跟普通用户分享资源就通过OAuth。

    OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。

    OAuth有1.0和2.0两个版本,下面讲1.0
    OAuth 1.0原理:

    OAuth1.0认证流程:

    • 第一步:网站向认证平台请求一个未授权的Token,这个Request Token Url是前面说的第一个Url;
    • 第二步:跳转至用户授权页面,提示用户进行登录,并进行授权,返回获得已授权的Token,用到的User Authorization Url是前面说的第二个Url;
    • 第三步:通过已授权的Token,向认证平台请求Access Token(数据令牌),用到的Request Access Url是前面说的第三个Url,返回后到这步整个认证流程就结束了,最后一步,是通过数据令牌等参数,调用接口获取用户信息,不完全算认证的流程。

    可能是最具破坏性的OAuth安全故障是网络钓鱼漏洞:使用OAuth每个网站在视觉上(但不是技术上的)要求最终用户提供他们自己的主人身份,以防止普通用户理解,他们不应该键入的用户名和密码那些在他们遇到的攻击者的网站,在视觉上模拟这个过程窃取凭据。双因素身份验证不能防止这种攻击,因为网络钓鱼站点也可以窃取(并立即使用)。

  • 相关阅读:
    同行——冲刺集合!!!
    团队作业第六次——事后诸葛亮
    同行——冲刺总结
    同行——冲刺day7(11.14)
    同行——测试随笔
    同行——冲刺day6(11.13)
    同行——冲刺day5(11.12)
    同行——冲刺day4(11.11)
    同行——冲刺day3(11.10)
    同行——冲刺day2(11.9)
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/6569266.html
Copyright © 2011-2022 走看看