如何处理无效的承载令牌

时间:2014-09-11 20:20:45

标签: asp.net-mvc asp.net-web-api2 bearer-token

我有一个ASP.NET MVC网站和一个Web API 2项目。

我使用我在身份声明中存储的持有人令牌来识别API上的用户。

它有效但我注意到当我为API使用不同的服务器时,所有令牌都无效。

我很困惑当令牌无效时该做什么(因为它是不同的服务器或因为它已过期)。

我们该如何处理?

对于过期的令牌,我想我可以存储过期日期并要求新令牌或实施OAuth2 Refresh Tokens。但对于另一种情况,我不知道该怎么做。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您有不同的API服务器,则必须确保所有WebConfig文件具有相同的machineKey标记。对于Windows Azure,您可以更改部署的web.config文件。

<system.web>
...
<machineKey validationKey="57B449BBA8F9E656087FF7848727E122C5F5966F65AC0FC25FB3532193B59CFCD13B370883FFC184C1F1500638F33E6F67B37CAED1D9BC65BBC6CFFB232BFD0B" decryptionKey="6D9FBE88D16B3FA5B5E6B37460BBE50DA85D5B4C482159006B5A337C58AA9E79" validation="SHA1" decryption="AES" />
...
</system.web>

使用此machine Key Generator。令牌是基于machineKey创建的,因此您必须确保此字段相同。如果没有,则在一个项目上创建的令牌对另一个项目无效。

相关问题