首页 文章

如何处理无效的承载令牌

提问于
浏览
0

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

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

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

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

我们该怎么办呢?

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

谢谢

1 回答

  • 1

    如果您有不同的API服务器,则必须确保 all WebConfig files have the same machineKey tag . 对于Windows Azure,您可以更改部署的web.config文件 .

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

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

相关问题