我有一个ASP.NET MVC
网站和一个Web API 2
项目。
我使用存储在身份声明中的不记名令牌来识别API上的用户。
它可以工作,但是我注意到当我使用其他服务器作为API时,所有令牌均无效。
我对令牌无效时的处理方式感到困惑(因为它是一台不同的服务器,或者因为它已过期)。
我们应该如何处理呢?
对于过期的令牌,我想我可以存储过期日期并请求新的令牌或实现OAuth2刷新令牌。但是对于其他情况,我不知道该怎么办。
谢谢
如果API的服务器不同,则必须确保所有WebConfig文件都具有相同的machineKey标签。如果是Windows Azure,则可以更改部署的web.config文件。
<system.web>
...
<machineKey validationKey="57B449BBA8F9E656087FF7848727E122C5F5966F65AC0FC25FB3532193B59CFCD13B370883FFC184C1F1500638F33E6F67B37CAED1D9BC65BBC6CFFB232BFD0B" decryptionKey="6D9FBE88D16B3FA5B5E6B37460BBE50DA85D5B4C482159006B5A337C58AA9E79" validation="SHA1" decryption="AES" />
...
</system.web>
使用本机的密钥生成器。令牌是根据machineKey创建的,因此必须确保该字段相同。如果不是,则在一个项目上创建的令牌将对另一项目无效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句