Php 如何允许其他站点从您的站点检索数据?

Php 如何允许其他站点从您的站点检索数据?,php,json,rest,laravel,laravel-4,Php,Json,Rest,Laravel,Laravel 4,详细信息 我是RESTful API和Laravel world的新手 但是“每个艺术家首先都是业余爱好者-对吗?” 让我们开门见山吧 我有两个网站。我们称之为: A B 网站B有一个很好的列表,如果用户表+它的所有关系 我想允许网站A访问网站B并加载这些漂亮的数据 我从来没有这样做过。我假设逻辑是: 网站A需要某种api\u密钥才能访问网站B 然后,在api_密钥匹配之后,网站B将数据作为json文件返回给网站A 然后,网站A将接收该json文件,并将其加载到HTML中并显示 我的逻辑

详细信息

我是RESTful API和Laravel world的新手

但是“每个艺术家首先都是业余爱好者-对吗?” 让我们开门见山吧

我有两个网站。我们称之为:

  • A
  • B
网站
B
有一个很好的列表,如果用户表+它的所有关系

我想允许网站
A
访问网站
B
并加载这些漂亮的数据

我从来没有这样做过。我假设逻辑是:

  • 网站
    A
    需要某种api\u密钥才能访问网站
    B
  • 然后,在api_密钥匹配之后,网站
    B
    将数据作为json文件返回给网站
    A
  • 然后,网站
    A
    将接收该json文件,并将其加载到HTML中并显示
我的逻辑是否更接近?如果我错了,请纠正我。:)

这是我试过的

在做了一些研究之后,我发现了这个。我真的很喜欢。我一路完成了。 现在,我对RESTful API有了更多的了解

然后,我遇到了这个。我找到了这个

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');
    }
});
我注意到这一操作,存储在用户表中的
api\u key

我的问题

  • 我需要像他那样做吗
  • 这是唯一的办法吗
  • 有没有更好/更简单的方法

  • 与其从数据库中获取api_密钥,不如手动将其设置为如下“21sdf364rt7y6r5ty1u28x1h8gt7yt2ert3654871”这样的
    random
    number+文本

  • api\u密钥将过期多长时间?它甚至过期了吗?我们怎么知道的
    
同样,我的主要目标是允许网站
A
从网站
B
访问内容

我的逻辑是否更接近

是的,足够近了

因此,主要目标是访问网站B的内容。您可以决定网站B的内容是否为受限内容

如果可以访问这些内容的用户有限,那么您需要api密钥


如果站点B的内容是公开的,您可以像github那样只打印json数据,而不需要任何必需的api键:。

您知道我可以从哪里开始吗?我尝试在谷歌上搜索了一段时间,但没有找到任何与
api\u key
相关的内容:(