好的,
因此,我向 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 beta 和 v1.0 API 版本默认为不记名 token 类型。此方法不存在安全风险,因为它是截至 2016 年 4 月唯一受支持的 token 类型。我们的文档指出,最佳实践是显式提供 token 类型。
请注意,虽然 RFC 要求服务器必须支持承载,但没有说明在没有承载的情况下接受 token 。
我们将考虑在下一个 API 版本中解决这个问题。
关于security - 尽管缺少 'Bearer',请求仍然成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574800/