【问题标题】:Web API - TokenWeb API - 令牌
【发布时间】: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 应用程序生成了哪个令牌。

【问题讨论】:

标签: c# asp.net-mvc wcf asp.net-web-api token


【解决方案1】:

您可以使用双向哈希来加密令牌,然后在服务器端解密它。或者换句话说,以不明显的方式操作字符串,然后在服务器端执行相反的操作。这将防止有人欺骗您的令牌。这个question 有很多细节。

【讨论】:

    猜你喜欢
    • 2018-06-11
    • 1970-01-01
    • 2018-11-10
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多