我刚刚问了这个问题,得到了一个相当明显和简单的答案(一如既往地把事情复杂化!)
建议的解决方案是,每次我联系我自己的API时,我都会发送一个"令牌"- 128位。
相反,我认为我可以做一个检查,看看用户是否首先登录(所以我自己的网站不需要每次授权),如果没有检查一个"令牌"的帖子
我现在要做的是检查每个传入的POST到我的API的令牌。
。使用构造函数来完成此操作,而不必为所有控制器中的每个方法添加一个'has_token'方法。
是否有一种方法可以在构造函数中做到这一点,以便任何请求都将检查这个令牌?
public function __construct()
{
parent::__construct();
if (!$this->authentication->logged_in())
{
if(!POST_DATA['token'] == "tokenValue"){ //PSEUDO CODE HERE FOR WHAT I WANT TO BE ABLE TO DO
redirect('auth/login', 'refresh');
}
}
}
基本上是否有一种方法可以拦截来自未登录用户的所有帖子数据,并在继续之前检查帖子是否有一个'令牌'集->如果没有,我会返回错误'无效令牌'或'令牌丢失'(我知道上面的代码不这样做!)
这样对吗?检查用户是否登录,如果没有,检查$_POST中的令牌,然后检查令牌是否有效?
if ( ! $this->auth->logged_in() )
{
if ( $this->input->post('token') )
{
if ( ! $this->token_model->check_token($this->input->post('token')) )
{
// Invalid token....
}
}
else
{
// No token found
}
}