security - 尽管缺少 'Bearer',请求仍然成功

标签 security http-headers office365 bearer-token microsoft-graph-api

好的,

因此,我向 Microsoft Graph API 提出请求,该 API 用于在 One Drive 上创建文件夹。一般来说,我的所有请求都有标题:

"Authorization": "Bearer <token>"

指定我正在使用 Bearer 类型的 token 请求访问。

然而,有一个请求似乎漏网了。

该请求具有以下结构:

{
    Method: POST,
    RequestUri: 'https://graph.microsoft.com/beta/<tenantid>/groups/<groupid>/drive/items/<folderid>/children/',
    Version: 1.1,
    Content: System.Net.Http.StringContent,
    Headers: {
        Authorization: <token>
        Content-Type: application/json;charset=utf-8
    }
}

如您所见,授权 header 中缺少“Bearer”关键字。

奇怪的是,这个请求成功了,而且图表不需要关键字。

我的问题本质上是这样的:

为什么该请求会成功?这次成功是否凸显了任何安全考虑或疏忽?

谢谢

最佳答案

感谢各位的反馈!请注意,如果未提供类型,则 Microsoft Graph betav1.0 API 版本默认为不记名 token 类型。此方法不存在安全风险,因为它是截至 2016 年 4 月唯一受支持的 token 类型。我们的文档指出,最佳实践是显式提供 token 类型。

请注意,虽然 RFC 要求服务器必须支持承载,但没有说明在没有承载的情况下接受 token 。

我们将考虑在下一个 API 版本中解决这个问题。

关于security - 尽管缺少 'Bearer',请求仍然成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574800/

相关文章:

security - 为什么 AWS API Gateway 不支持 VPC?

php - 为什么filter_input()不完整?

android - 如何防止 Android 应用程序共享 ShareIT 等应用程序?

c getaddrinfo 没有这样的主机是已知的

excel - 优化 VBA 代码并提高性能

c# - 我怎样才能混淆我的 C# 代码,所以它不能那么容易地被混淆?

http - Angular + Web Api 上的 Windows 身份验证

html - 范围请求和 HTML5 音频

javascript - 使用 Javascript API 将行添加到 Excel 中的现有表

exchangewebservices - 找不到自动发现服务