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

  • 相关阅读:
    UVA 12697 Minimal Subarray Length
    学渣乱搞系列之后缀数组
    HDU 3518 Boring counting
    NYOJ 832 合并游戏
    如何在SAP里创建configurable material物料主数据
    在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩
    使用SAP C4C rule editor动态控制UI上某个按钮是否显示
    ABAP SICF服务和Java Servlet的比较
    一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍
    Java实现的有道云笔记图片批量下载工具
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/6569266.html
Copyright © 2011-2022 走看看