Codeigniter API会话
我正在为IOS应用程序编写api我有一些关于处理IOS应用程序会话的问题
当用户从iPhone登录时,我需要传递会话ID作为登录响应,并在进一步的api调用中使用该会话ID来验证用户,
我在我的api控制器中所做的是获取会话ID并将其保存到会话数组以及用户详细信息,并将会话ID作为响应
$session = $this->session->userdata('session_id');
$user_array = array(
'email' => $user->email,
'session_id'=>$session
);
$this->session->set_userdata('logged_in', $user_array);
$output = array(
'code'=>200,
'user'=>$user,
'session_id'=>$session
);
$this->output
->set_content_type('application/json')
->set_output(json_encode($output));
对于更多的api调用,我会将session_id作为参数,
我检查了它的有效部分或不使用以下内容。 码
$session_id = $this->input->get('session_id', TRUE);
if($session_id){
if($this->session->userdata('logged_in')){
$user = $this->session->userdata('logged_in');
if($user['session_id'] == $session_id){
// valid session
}
这与邮递员测试时效果很好。
但我不确定,这是处理API调用会话的正确方法。
从IOS应用程序运行时会有同样的工作吗?
提前致谢
您正在使用无状态的REST api方法,因此在从IOS应用程序调用时会话不会保持。 您从应用程序拨打的每个电话都将有一个新的会话。
如果您确实需要在API调用期间维护会话,则必须将SOAP用作Web服务。
有关更多信息,请检查如果REST应用程序应该是无状态的,那么您如何管理会话?
链接地址: http://www.djcxy.com/p/41149.html