Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
REST GET API中的OAuth2安全性_Rest_Oauth 2.0 - Fatal编程技术网

REST GET API中的OAuth2安全性

REST GET API中的OAuth2安全性,rest,oauth-2.0,Rest,Oauth 2.0,我知道OAuth2是保护RESTAPI访问安全的好方法。我还了解到,与简单网站或SOAP API不同,在REST API中,您希望为正确的任务使用正确的HTTP方法。即读取数据、发布以写入数据等 我的问题是,当对通过OAuth2保护的RESTAPI执行GET调用时,如何保护您的访问令牌?除了在URL的清晰视图中,我看不到任何其他方式将其传递到服务器,因此,任何人在网络上看到我的呼叫都可能劫持我的授权吗?HTTP请求有两个主要组件: 方法 网址 标题 身体 OAuth2承载令牌通常在报头中发送,如

我知道OAuth2是保护RESTAPI访问安全的好方法。我还了解到,与简单网站或SOAP API不同,在REST API中,您希望为正确的任务使用正确的HTTP方法。即读取数据、发布以写入数据等


我的问题是,当对通过OAuth2保护的RESTAPI执行GET调用时,如何保护您的访问令牌?除了在URL的清晰视图中,我看不到任何其他方式将其传递到服务器,因此,任何人在网络上看到我的呼叫都可能劫持我的授权吗?

HTTP请求有两个主要组件:

  • 方法
  • 网址
  • 标题
  • 身体
  • OAuth2承载令牌通常在报头中发送,如下所示:

    GET /thingy HTTP/1.1
    Host: api.example.org
    Authorization: Bearer [secret]
    
    另一方面,这一假设也并非真正正确:

    所以,任何人在网络上看到我的电话都可能劫持我的授权,不是吗


    如果您不使用HTTPS,任何人都可以看到此令牌,即使它位于标头中。如果您确实使用HTTPS,则在url中放置令牌不应允许任何其他人窥探。然而,出于不同的原因,将秘密放入URL被认为是一种不好的做法。特别是,人们不喜欢它,因为令牌可能会出现在浏览器历史记录和日志中。这增加了它意外落入坏人手中的可能性。

    HTTPS对于OAuth2是必需的。您可以在此处找到更多信息: