【发布时间】:2016-03-22 14:37:47
【问题描述】:
我的 MVC 应用程序可以访问我的 WEB API。
访问WEB API是绝对需要通知一个“令牌”的。
WEB API 中有一个生成令牌的按钮。
如何让Web API应用只接受MVC应用生成的token而不使用数据库?
我让 MVC 生成令牌(GUID + 日期)并将此令牌传递给 Web API 以验证日期是否在 30 秒内。如果在期限内我认为令牌是有效的。
byte [] data = Convert.FromBase64String ( token) ;
When DateTime = DateTime.FromBinary ( BitConverter.ToInt64 (date, 0 ) ) ;
if (when < DateTime.UtcNow.AddSeconds (-30 ) )
{
return false;
}
这可行,但是,报告的任何与日期连接的 GUID 都是有效的。 我需要让我的 Web API 确切知道 MVC 应用程序生成了哪个令牌。
【问题讨论】:
-
如果您还没有完成 jwt.io,我建议您查看 JWT,并且 msdn 已经为此 msdn.microsoft.com/en-us/library/dn205065(v=vs.110).aspx 提供了一些产品。优点是它不会持久化任何东西并且是安全的。
标签: c# asp.net-mvc wcf asp.net-web-api token