从客户端浏览器验证/授权AJAX请求

问题描述:

我们有一个Web服务,可供我们注册的客户使用。我们在注册期间获得客户的用户名,密码和IP /域。这个webservice可以被注册客户用在他们的应用程序中。 如果使用AJAX请求通过浏览器进行web服务调用,我们如何验证客户端。 我们目前使用getReferrer进行身份验证(这给了我们客户端域)。想知道是否有更好的方式来处理这种认证。从客户端浏览器验证/授权AJAX请求

感谢您在这方面的帮助。

感谢 阿尼尔ķ

一个保护Web服务将需要以下步骤的方法:

  • 在您的网站从那里注册的客户端可以在“API密钥”请求添加功能。这个“key”将是一个唯一的随机字符串(最好是一个固定长度的字符串)。
  • 客户端进行的第一个Web服务调用应该是一次认证调用。在此调用中,客户端必须将“API密钥”作为HTTP标头值传递。在服务器端,您应该验证传入IP /域和“API密钥”是否来自注册客户端。这样客户端不需要发送“用户名/密码”进行认证。
  • 如果密钥和IP /域匹配,则可以假定此Web服务调用来自有效客户端。现在在服务器端,生成一个“令牌”(一个唯一的随机字符串),并将该“令牌”作为对认证Web服务调用的“响应”发送给客户端。
  • 此“令牌”必须由客户端在每个后续Web服务调用中发送。你必须检查这是否是一个有效的“令牌”。 “令牌”应在特定时间段后过期。例如,如果在过去15分钟内未使用“令牌”,则应该过期,Web服务客户端将不得不再次调用身份验证API。

希望这有助于

+0

你好阿齐兹 感谢您的答复。这涉及客户端每次验证或发送令牌以访问Web服务。 该调用不是由客户进行的。通过AJAX调用,客户应用程序的用户正在从用户的浏览器进行调用。有没有一种方法来验证来自浏览器的呼叫,而不要求客户端每次都发送令牌。 谢谢 Anil – 2011-06-15 10:44:55

+0

所以,如果我正确地理解了你,你的客户已经注册,但他们的客户(你称为用户)没有直接向你注册,对吗? – 2011-06-17 10:56:24

+0

你好阿齐兹。对,那是正确的。 有什么建议吗? 谢谢。 – 2011-06-20 12:58:18