在CodeIgniter中生成REST调用的令牌,可以通过以下步骤实现:
以下是一个简单的示例代码:
// Token_model.php
class Token_model extends CI_Model {
public function generate_token($user_id) {
$token = uniqid(); // 使用uniqid生成令牌值
$data = array(
'token' => $token,
'user_id' => $user_id,
'created_at' => date('Y-m-d H:i:s')
);
$this->db->insert('tokens', $data);
return $token;
}
public function validate_token($token) {
$this->db->where('token', $token);
$this->db->where('created_at >=', date('Y-m-d H:i:s', strtotime('-1 hour'))); // 令牌有效期为1小时
$query = $this->db->get('tokens');
return $query->num_rows() > 0;
}
}
// YourController.php
class YourController extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Token_model');
}
public function your_method() {
$token = $this->input->get_request_header('Authorization'); // 假设令牌通过请求头传递
if ($this->Token_model->validate_token($token)) {
// 令牌有效,执行相应的逻辑
} else {
// 令牌无效,返回错误响应或执行其他操作
}
}
}
请注意,以上代码仅为示例,你可能需要根据实际需求进行适当的修改和调整。此外,还可以根据具体情况添加更多的安全性措施,例如使用加密算法对令牌进行加密等。
领取专属 10元无门槛券
手把手带您无忧上云