我有2个使用相同数据库的webapi2项目 . 如果我在localhost上,我从一个我可以传递给另一个的承载令牌,另一个将正确解密它并加载用户 . 然而,当我将它们发布到天蓝色的单独网址时,我从一个网站上获得了一个令牌,但是当我将它传递给另一个时,我无法获得加载的票证,它给了我未经授权的响应 .

我正在通过观察owin AuthenticationTokenProvider.OnRecieve方法对此进行测试 . 当调用context.DeserializeTicket时,票证保持为空并且用户永远不会被加载 .

您的第一个响应可能是关于2之间的机器密钥需要如何相同以便它们可以工作 . 问题出在那里

  • 我所有的在线研究表明,azure机器密钥在相同角色的应用程序之间同步(一个是Web应用程序,另一个是web api应用程序),所以这应该不是问题

  • 我可以't specify a machine key because the first app has been in production for a while and changing it'的机器密钥会搞乱存储的密码等...

  • 使用 生产环境 应用程序在新的api nay工作中使用的机器密钥,但无法获得azure web应用程序的机器密钥 .

我很确定这不是机器关键问题,但我不知道如何解决这个问题 . Heeeeelllp!