兄弟们,说个我和 sonnet4.5 搭配还查了 3 个小时的问题(心疼我的额度)。
新项目框架,系统正常运行,但是无论怎么 copy 生成的 token ( swagger 调 login 接口或直接 f12 找接口的请求头)都没法用 swagger 成功调用接口,一直解析 token 报错导致 401 ;
然后 token 很长么,肉眼不可读,我把控制台里的 token 和 swagger 生成的 token 复制粘贴到文本对比器里对比结果是毫无差异,放到在线 jwt 解析里 payload 有一半是乱码;
我就麻了,然后想了下,powershell 调用试试,结果出现个特别诡异的情况,我直接鸡皮疙瘩都起来了:我 powershell 调用接口登陆,直接存入变量,用变量调新接口,200ok ,然后我把 token 打印在控制台,ctrl+cv 贴回控制台,再调用,401 了。。。
我就觉得难道是 swagger 和 powershell 都有换行符的问题?我就解析 byte ,查换行符,都没有问题,我就纳了闷了了,最后逼得我没招了,开始笨方法:肉眼一个一个字符读 jwt ,然后我他妈一下头皮都麻了。。。
我就不上图了,结果就是我复制粘贴的 payload 的部分和原始请求返回的 token 里有一段字符不一样,出现了一段 KBM2Af9KHdAbE7JUAS8Mno1TZvNsq6o6C 的乱码;
我当时还不太敢相信,最后用 powershell 的 Set-Clipboard 、Get-Clipboard 模拟了下复制粘贴 token ,结果真的不一样。。
现在我知道 bug 的原因了,但我就是个菜鸡 web 搬砖工,想问问大佬们这到底是为啥,windows 的剪切板还有这种坑吗?
新项目框架,系统正常运行,但是无论怎么 copy 生成的 token ( swagger 调 login 接口或直接 f12 找接口的请求头)都没法用 swagger 成功调用接口,一直解析 token 报错导致 401 ;
然后 token 很长么,肉眼不可读,我把控制台里的 token 和 swagger 生成的 token 复制粘贴到文本对比器里对比结果是毫无差异,放到在线 jwt 解析里 payload 有一半是乱码;
我就麻了,然后想了下,powershell 调用试试,结果出现个特别诡异的情况,我直接鸡皮疙瘩都起来了:我 powershell 调用接口登陆,直接存入变量,用变量调新接口,200ok ,然后我把 token 打印在控制台,ctrl+cv 贴回控制台,再调用,401 了。。。
我就觉得难道是 swagger 和 powershell 都有换行符的问题?我就解析 byte ,查换行符,都没有问题,我就纳了闷了了,最后逼得我没招了,开始笨方法:肉眼一个一个字符读 jwt ,然后我他妈一下头皮都麻了。。。
我就不上图了,结果就是我复制粘贴的 payload 的部分和原始请求返回的 token 里有一段字符不一样,出现了一段 KBM2Af9KHdAbE7JUAS8Mno1TZvNsq6o6C 的乱码;
我当时还不太敢相信,最后用 powershell 的 Set-Clipboard 、Get-Clipboard 模拟了下复制粘贴 token ,结果真的不一样。。
现在我知道 bug 的原因了,但我就是个菜鸡 web 搬砖工,想问问大佬们这到底是为啥,windows 的剪切板还有这种坑吗?
