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

上一篇: Codeigniter API session

下一篇: PHP Session ID Not Retain in iOS App