尽管缺少 'Bearer',但请求成功

Successful Request despite missing 'Bearer'

好的,

所以我向 Microsoft Graph API 提出了一个请求,该请求用于在 One Drive 上创建一个文件夹。通常我所有的请求都有 header:

"Authorization": "Bearer <token>"

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

不过,有一个请求好像漏网了。

此请求具有以下结构:

{
    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 版本默认为不记名令牌类型。这种方法没有安全风险,因为截至 2016 年 4 月,它是唯一受支持的令牌类型。我们的文档指出,最好的做法是明确提供令牌类型。

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

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