通过 JQuery/JavaScript (AJAX) 或 WinForms 自定义 Web API 请求的标头

本文关键字:API Web 自定义 请求 WinForms JQuery JavaScript AJAX 通过 | 更新日期: 2023-09-27 18:37:28

我正在学习和使用Web API,需要实现以下身份验证机制

对 Web API 的第一次调用将是握手(登录名和令牌 共享)。Web API 的登录方法将使用正确的 凭据,一旦获得批准,基于 GUID 的令牌将返回到 客户端(基于Jquery或Windows)。令牌将在一段时间后过期 可配置时间。

在此之前,客户端应该能够与 WebAPI 通信 与每个请求共享相同的令牌值,因此不需要 对每个呼叫进行身份验证。

对于在每个调用

中使用令牌,很有可能在每个调用中都有它 QueryString 或将其包含在 Web API 方法的每个参数中。

但是,我正在寻找可以通过JQuery(使用AJAX调用)或基于Windows的客户端将Token嵌入HTTPRequestHeader的可能性。我希望你们能帮助我提前确定实施该系统和风险的公平方法。

通过 JQuery/JavaScript (AJAX) 或 WinForms 自定义 Web API 请求的标头

使用 jQuery

Ajax 时,您可以使用 beforeSend method 修改 jQuery 中的标头。

使用HttpClient添加/修改HTTP请求标头没有问题。

也许 Thinktecture.IdentityModel.Http

很快就会支持您描述的场景:Thread: Web API Sample for Thinktecture.IdentityModel at WebApiContrib Google Group

一些基于令牌的身份验证机制,如SWT和SAML 1.1/2.0已经在Thinktecture.IdentityModel.Http中实现。

您可以使用HTTP身份验证,该身份验证使用纯文本发送用户名和密码,因此为了保护它,您可以使用SSL。

一篇很棒的文章可以在这里找到