C# Web API-令牌
我的MVC应用程序可以访问我的WEB API 要访问WEB API,必须通知“令牌” WEB API中有一个生成令牌的按钮 如何使Web API应用程序只接受MVC应用程序生成的令牌而不使用数据库? 我让MVC生成令牌(GUID+日期)并将该令牌传递给Web API,以验证日期是否在30秒内。如果在该期间内,我认为令牌是有效的。< /P>C# Web API-令牌,c#,asp.net-mvc,wcf,asp.net-web-api,token,C#,Asp.net Mvc,Wcf,Asp.net Web Api,Token,我的MVC应用程序可以访问我的WEB API 要访问WEB API,必须通知“令牌” WEB API中有一个生成令牌的按钮 如何使Web API应用程序只接受MVC应用程序生成的令牌而不使用数据库? 我让MVC生成令牌(GUID+日期)并将该令牌传递给Web API,以验证日期是否在30秒内。如果在该期间内,我认为令牌是有效的。< /P> byte [] data = Convert.FromBase64String ( token) ; When DateTime = DateTime.Fro
byte [] data = Convert.FromBase64String ( token) ;
When DateTime = DateTime.FromBinary ( BitConverter.ToInt64 (date, 0 ) ) ;
if (when < DateTime.UtcNow.AddSeconds (-30 ) )
{
return false;
}
byte[]data=Convert.FromBase64String(令牌);
当DateTime=DateTime.FromBinary(BitConverter.ToInt64(日期,0))时;
如果(当
但是,这是可行的,任何报告的与日期连接的GUID都将是有效的我需要让我的web API准确地知道哪个令牌是由MVC应用程序生成的。您可以使用双向哈希对令牌进行加密,然后在服务器端对其进行解密。或者换句话说,以不明显的方式操纵字符串,然后在服务器端执行相反的操作。这将防止有人欺骗您的令牌。这有很多细节 我建议你看看JWT,如果还没有完成的话,msdn已经为此提供了一些产品。优点是它不会保留任何内容,而且是安全的。