【问题标题】:Passing authorization token to Odata client将授权令牌传递给 Odata 客户端
【发布时间】:2017-10-18 02:27:12
【问题描述】:

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

  1. 获取用户凭据,将其传回 API。
  2. 获取令牌。
  3. 使用令牌值设置 Odata 客户端的标头。

我正在努力处理第二步和第三步之间要采取的行动:令牌应该保存在哪里,以便您可以继续使用它设置 Odata 客户端标头?

This is how I set the authorization header value.

编辑:关于评论,我可能没有明确说明问题。问题出现了,因为控制器将为每个请求创建,并且将在请求完成后的“某个时间”进行垃圾收集。所以,代币价值就没有了。

【问题讨论】:

  • 你不能把它存储在一个字符串变量中吗?
  • 您是否明确需要从服务器端调用 api,或者从客户端调用它也是可行的,例如通过 ajax 调用?
  • @AlexanderClare,不会使用 Ajax 调用,API 将仅通过使用 Odata 客户端来使用。
  • 看看here,他们将其存储在cookie中。如果您不想在客户端公开实际令牌,请将其存储在您的例如附近的某个地方。用户配置文件/会话,或将生成的 id 令牌存储在查找表中并将 id 保存到 cookie。
  • 这是another approach 使用 ASP.NET 身份和 ApplicationCookies

标签: c# asp.net odata


【解决方案1】:

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

this is another approach 使用 ASP.NET 身份和 ApplicationCookies

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2018-05-17
    • 2013-12-03
    • 2020-12-16
    • 2020-01-24
    • 2018-12-01
    • 2020-12-10
    相关资源
    最近更新 更多