将授权令牌传递给Odata客户端

时间:2017-05-18 10:14:03

标签: c# asp.net odata

我一直在尝试使用Odata客户端来使用授权的ASP.NET Odata Web API。我知道如何使用令牌为客户端设置标头,但是该令牌应该保留在哪里以便重复使用?。因为必须为每个请求设置Authorization标头,而不仅仅是一次。更准确地说,这就是我要做的事情:

  1. 获取用户凭据,将其传回API。
  2. 获取令牌。
  3. 使用令牌值设置Odata客户端的标头。
  4. 我正在努力解决第二步和第三步之间要采取的行动:令牌应该保留在哪里,这样你就可以继续设置Odata客户端标头了吗?

    This is how I set the authorization header value.

    编辑:关于评论,我可能还没有明确指出这个问题。问题出现了,因为将为每个请求创建控制器,并且将在"之后的某个时间进行垃圾收集。请求已完成。因此,令牌值将消失。

1 个答案:

答案 0 :(得分:1)

看看here,他们将它存储在cookie中。如果您不想在客户端公开实际令牌,请将其存储在您的客户端附近。用户配置文件/会话,或将带有生成的ID的令牌存储在查找表中,并将id保存到cookie中。

this is another approach使用ASP.NET Identity和ApplicationCookies