0

在 Umbraco 登录的 PostLogin API 响应中收到垃圾字符。这导致所有其他 api 显示 401 未经授权的错误。

甚至 isAuthenticated API 也返回 false。

Umbraco 是托管版本,我们正在运行 8.2.0。

这是标准安装。LegacyEncoding 设置为 true。

这是我得到的回应。主角是垃圾人物。 图片在这里

)]}', ---Junk Values
{"email":"xxxxxxxxxxxxxxxxxx","locale":"en-US","emailHash":"ac88ae0de8ce43ba72dac1cd208d4e87","userGroups":[],"remainingAuthSeconds":1200.0,"startContentIds":[],"startMediaIds":[],"avatars":[],"allowedSections":[],"id":-1,"name":"xxxxxxxxxxxx"}
4

1 回答 1

0

这不是垃圾,它是 AngularJS JSON 安全性的一部分:

“如果服务器为所有 JSON 请求加上以下字符串 ")]}',\n",则提供 JSON 劫持保护。AngularJS 会在将其处理为 JSON 之前自动去除前缀。有关更多信息,请访问 JSON 劫持保护。"

https://docs.angularjs.org/guide/security#json-hijacking-protection

您还可以在 Umbraco 源代码中查看实现:

在此处输入图像描述

于 2020-02-19T08:54:20.440 回答