Web服务 – Web服务授权最佳实践

我正在创建一个链接到我正在创建的Web服务的网页.

现在网页很简单.我可以创建一个会话来存储登录信息,这些信息将通过我的jquery url调用webservice传递给webservice.

但是如果它在不同的域上访问我的webservice(通过javascript ajax进行客户端访问)的不同网站怎么办呢?
它会调用我的webservice / login吗?userid =& password =返回一个sessionID
然后该网站必须记住sessionID并在每次通话时包含它?
例如:order / outbound / create?address =& item =& companyName =& sessionID = 435hg34kh

我感谢我在这个主题上能得到的任何帮助.

并不是说这与上述问题有任何关系(我认为)我正在使用php编写web服务.

最佳答案 使用webservices进行身份验证取决于服务合同中的HTTP / Soap协议(通常使用令牌).

基于第一次调用检索ID然后交换会话ID的解决方案对于客户端调用是好的(无法访问HTTP / Soap协议,只有服务参数,在这种情况下,您通常使用基于的轻量级Web服务休息).

业务端调用也可能依赖于基本身份验证或WS-Security. Ebay正在将您的方法用于其Web服务,这些服务通常是从业务应用程序(而不是直接客户端浏览器)调用的.

一个结果是有效地服务器和客户端需要维护会话令牌.您最终需要一个注销用户的失效服务(防止登录令牌被重用).

here记录了跨域Javascript HTTP调用的基本方法

点赞