为了调试生产问题,我需要一个工具来解密身份验证cookie。我写了一个快速脚本来使用FormAuthentication对其进行解密。本质是
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(source.Text);
服务器设置了machineKey,我在这个应用程序中使用相同的密钥。我正在使用Fiddler获取cookie文本。但是,使用FormAuthentication.Decrypt时,我总是无法验证异常。 Cookie设置为HttpOnly。
我错过了什么吗?
注意:有很多类似的问题,但到目前为止,答案都没有帮助我,所以决定发布一个新问题。
答案 0 :(得分:0)
它似乎与机器或某种机器相关的标识符有关。当我在与生产服务器相同的服务器上运行示例脚本时(即生成cookie的位置)。解密工作正常。我仍然没有深入研究为什么这么做,而是快速反思
System.Web.Configuration.MachineKeySection.EncryptOrDecryptData
告诉Unable_to_validate_data几乎被抛出任何异常。