c# - 在 ASP.NET WebAPI 中检索不记名 token

标签 c# asp.net-web-api bearer-token

我有一个启用身份验证的 Web API(不记名 token )。这是由客户端应用程序调用的,我想保护它不被匿名使用,所以我想创建一个用户并为其创建一个持有者 token 。

我可以通过调用 registertoken 方法来创建 token ,但我想从代码中执行此操作。

  1. 据我所知,不记名 token 未存储在数据库中。能否使用 ASP.NET Identity API 以某种方式检索它?

  2. 我还想通过代码创建此用户并将 token 保存在某处,因为我需要将数据库部署到多个服务器。

最佳答案

如果您只有一个客户端会与您的 API 对话,我不建议采用这种方法,我的理解是您需要发布一个非常非常长的访问 token ,可能持续一年,并继续使用此 token 访问后端API,对吗? 如果这个 token 被盗了,你会怎么做?您无法撤销访问 token ,因此它有点像您的主 key (密码)。 我的建议是使用 OAuth 刷新 token 和访问 token 。这取决于您的客户端类型,您可以在此处查看这是如何完成的 http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/ 刷新 token 可以被撤销,它们可以在很长一段时间后过期。如果您需要进一步的细节来实现这一点,请告诉我。

关于c# - 在 ASP.NET WebAPI 中检索不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764732/

相关文章:

c# - 发布包含 SQLite.Interop.dll 的项目失败,因为它正被另一个进程使用

c# - Entity Framework 4.0 : How to log sql statements

c# - 属性不能在 C++/CLI 中重复但在 C# 中可以吗?

c# - 使用 Asp.net MVC web.api 为什么我应该重定向而不是仅仅调用其他函数?

asp.net 身份不记名 token 在 20 分钟后过期

Spring Boot Keycloak - 如何验证 Bearer token ?

c# - 消除 RESTful 服务的歧义

c# - WebApi 中的异步方法导致 IIS ExecuteRequestHandler 挂起

asp.net - 无法加载文件或程序集 System.Web.Http,版本=5.2.2.0

c# - 在 C# 中手动解码 OAuth 不记名 token