【发布时间】:2015-01-22 12:56:35
【问题描述】:
我正在使用 Cordova 和 API REST 开发一个混合应用程序。对于注册用户,我使用电话号码和短信来验证电话(如 WhatsApp)。
我为那个用户生成一个令牌,这个令牌用于使用 API REST 方法(它通过 HTTPs 进入 HTTP 标头)。
我需要为我的 API REST 创建一个“过滤器”或类似的东西来识别用户,而不是一直使用查询来获取 user_id,这对我的控制器来说是“自动”的,但我没有找到任何东西类似的...
我可以使用这样的东西:
Route::filter("auth", function()
{
// ...get database user
if (Input::server("token") !== $user->token)
{
App::abort(400, "Invalid token");
}
});
但是如何知道我的控制器用户在请求什么?
这是一个好的解决方案吗?
Route::filter('auth.api', function()
{
$token = Request::header('Token');
$user = User::where('token', '=', $token)->firstOrFail();
Auth::login($user);
$result = Auth::onceBasic('username');
if ($result)
{
echo $result;
}
});
谢谢!!
【问题讨论】:
标签: php rest laravel laravel-routing