1

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

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

到那时,客户端应该能够与 WebAPI 通信,并与每个请求共享相同的令牌值,因此不需要对每个调用进行身份验证。

对于在每个调用中都有 Token,很有可能在每个 QueryString 中都有它,或者在 Web API 方法的每个参数中都有它。

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

4

2 回答 2

1

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

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

也许Thinktecture.IdentityModel.Http很快就会支持您描述的场景:线程:WebApiContrib Google Group 上 Thinktecture.IdentityModel 的 Web API 示例

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

于 2012-06-15T08:04:51.550 回答
0

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

一篇优秀的文章可以在这里找到

于 2012-06-15T06:34:12.917 回答