Azure模拟器 - 表存储,可在本地运行,但不适用于天蓝色

时间:2014-12-01 13:07:12

标签: c# oauth azure-storage asp.net-web-api2

我有一个奇怪的场景:

我正在尝试实现此处概述的刷新令牌: http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/

我已经按照博客文章的说法开始工作,但现在我已经为自定义云上下文更改了数据库上下文,因此所有安全表都是Azure存储表。 AuthRepository最终与博客相同,基本上OAuth的内容有90%的相同代码(对上下文的调用略有不同)。

当我将webapi指向我的本地存储模拟器时,我可以登录并创建刷新令牌,我可以使用刷新令牌获取另一个访问令牌。一切正常。但是,当我将webapi指向实际的Azure存储时,我无法获得新的令牌,我可以正常登录并在表存储中创建刷新令牌。它命中

SimpleRefreshTokenProvider.ReceiveAsync(AuthenticationTokenReceiveContext context)

并找到现有的refreshToken,反序列化票证

context.DeserializeTicket(refreshToken.ProtectedTicket);

然后从表中删除refreshToken,但我从webapi令牌端点(' / token')得到的唯一响应是{"错误":" invalid_grant& #34;}

我真的不知道从哪里开始寻找这个错误,因为没有异常抛出(我已经单步执行了所有代码)并且永远不会调用SimpleAuthorizationServerProvider.GrantRefreshToken(OAuthGrantRefreshTokenContext context)

我有:

  • nuget package WindowsAzure.Storage 4.3.0
  • Azure存储模拟器3.2.0.0

注意:请原谅我缺乏代码,欢迎包含任何内容的方向。我准备好编辑了!

0 个答案:

没有答案