【问题标题】:How to pass ASP.NET Identity user credentials to WebRequest如何将 ASP.NET Identity 用户凭据传递给 WebRequest
【发布时间】:2016-03-12 00:35:12
【问题描述】:

我有一个带有 ASP.NET 身份验证的 ASP.NET MVC Web 应用程序。我需要在控制器的后端代码中创建一个 WebRequest,以通过 ASP.NET 身份验证调用不同 Web 应用程序的 WebAPI 方法。

那么,如何获取当前用户凭据以将其传递给 HttpWebRequest? 我试图通过 CreadentialsCache 获取它,但它没有初始化。

我正在使用 Owin 实现在我的 Web 应用程序中设置身份验证。

【问题讨论】:

  • 研究使用不记名令牌。发出初始请求以对用户进行身份验证,获取令牌并将其添加到授权标头中以供后续请求。

标签: asp.net-mvc asp.net-web-api asp.net-identity owin


【解决方案1】:

恐怕你在这里运气不好。在默认身份配置中,密码始终存储为加盐哈希。密码在内存中可用的唯一时间是用户在表单中键入并提交密码时 - 在密码更改或登录操作时。

但取决于您使用的 API - 您可能会在用户登录您的应用程序的同时登录那里并获得一个 auth-token 以供以后使用 - 类似于您在 MVC-app 中获得的 auth-cookie

【讨论】:

  • 我会检查的。谢谢!
  • 如果我通过外部登录我不会得到用户密码(只有令牌),但是如何使用它从 WebAPI 项目中获取令牌?
  • 您应该可以在 WebAPI 中使用相同的令牌
猜你喜欢
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
  • 2014-04-10
相关资源
最近更新 更多