【发布时间】:2015-02-17 15:58:01
【问题描述】:
详情
我是 RESTful API 和 Laravel 世界的新手。
但是“每个艺术家首先都是业余爱好者。-对吧?” 让我们进入正题。
我有 2 个网站。让我们称之为:
AB
网站B 有一个很好的列表,如果用户表+它的所有关系。
我想允许网站A 访问网站B 并加载那些不错的数据。
我从来没有这样做过。我假设逻辑是:
- 网站
A需要某种 api_keys 才能访问网站B。 - 那么在api_key匹配后,网站
B会将数据以json文件的形式返回给网站A。 - 然后,
A网站将接收该 json 文件,并将它们加载到 HTML 中并显示它。
我的逻辑是否更接近?如果我错了,请纠正我。 :)
这是我尝试过的
在做了一些研究之后,我发现了这个site。我真的很喜欢它。我全部完成了。 现在,我对 RESTful API 有了更多的了解。
然后,我遇到了这个site。我找到了这个
filters.php
Route::filter('api', function() {
// Fetch a user record based on api key
$user = User::where('api_key', '=', Input::get('api_key'))
->take(1)
->get();
if ($user->count() > 0) {
Auth::onceUsingId($user[0]->id); // Authorize the user for this one request
} else {
return Response::view('errors.404', array(), 404)->header('Content-Type', 'application/json');
}
});
我注意到这个的 OP,存储在 users 表中的 api_key。
我的问题
- 我需要像他那样做吗?
- 这是唯一的方法吗?
有没有更好/更简单的方法来做到这一点?
与其从数据库中获取 api_key,我可以手动将其设置为
random数字 + 文本,例如 '21sdf364rt7y6r5ty1u28x1h8gt7yt2ert3654871' 吗?-
api_key会过期多久?甚至是expire吗?我们怎么知道?
同样,我的主要goal 是允许网站A 访问网站B 的内容。
【问题讨论】:
标签: php json rest laravel laravel-4