如何在PHP REST Web服务中处理身份验证?

时间:2011-03-07 11:35:14

标签: php rest

我已经读过,编写从移动应用程序中使用的Web服务的好方法是避免使用SOAP(太冗长)并使用REST;在许多REST示例中,我看到由于REST的无状态特性而避免会话更好......但是如何在调用我的Web服务时确保安全性?我想进行“登录”调用然后将session_id / token传递给下一个webservice调用...我该怎么做?

2 个答案:

答案 0 :(得分:4)

最干净的方法是使用HTTP身份验证。 虽然这不会通过login + sessionid方式提到它会更清晰,更直接(API调用与其他API调用无关,客户端不需要期望会话超时等。)

答案 1 :(得分:3)

您可以在json请求中传递用户令牌(以及会话或任何其他身份验证数据,如果您需要):

{"auth": {"session_id": "abc", "token":"123"},
 "data": "your request data"
}

如果您对安全性感到疯狂,可以在每次用户登录后生成新令牌,甚至可以获得令牌的终身。