【发布时间】:2015-02-18 12:23:07
【问题描述】:
我有 2 个网站。让我们称之为:
AB
网站B 有一个很好的数据列表及其所有关系。
我想允许网站A 访问网站B 并加载那些data。
-
当然,网站
A需要某种凭据、api_keys 或密码才能访问网站B。正确的 ?我从来没有这样做过。 -
然后在凭证匹配后,网站
B会将数据以json文件的形式返回给网站A。 -
然后,
A网站将接收到该 json 文件,并将其加载到 HTML 中并显示。
我希望我对自己的目标足够清楚。
这是我尝试过的:
在做了一些研究之后,我发现了这个site。我真的很喜欢它。我已经全部完成了。现在,我对 RESTful API 有了更多的了解。
现在,转到code
在我的filters.php我修改
Route::filter('auth.basic', function()
{
return Auth::basic("username");
});
在我的routes.php
Route::get('/authtest', array('before' => 'auth.basic', function(){
return return "It's work !";
}));
之后,我跑
注意
-
username=firstuser -
password=first_password
C:\wamp\www\laravel-1
λcurl --user firstuser:first_password localhost/l4api/public/index.php/authtest
我明白了
It's work !
目前,它只返回一个字符串。
-
如果我想以 json 格式返回整个 users 表,我该怎么做?
-
到目前为止,我根本没有使用任何
api_key吗?这很糟糕吗?感谢所有参与此帖子的人
thanks。
【问题讨论】:
-
Laravael 在模型上提供了一个 toJSON() 方法。如果您正在构建 API,您将需要某种身份验证,除非您不介意将数据公开提供给任何人。
-
您可以通过创建“站点 B”用户(通过 IP 地址限制它)并通过 HTTPS(从站点 B)连接到它来直接允许访问站点 A 的数据库......或者我是缺少什么?
-
@Joe 我需要身份验证,你是对的。事实上,现在,我通过用户名和密码对它们进行身份验证。够好吗?我应该使用
api_key吗?有什么主要的区别吗?如果,我决定使用api_key。我需要把它存放在某个地方,例如。数据库,对吧?或者因为我知道只有one站点需要访问我的站点,我可以手动设置'api_key'=>'any-random-number'。任何进一步的建议或提示,我都喜欢接受。再次感谢 - 乔。 -
这取决于您希望 API 有多“安静”。真正宁静的 API 是无状态的,因此不能使用 cookie。有几种方法可以进行无状态身份验证,但关键是不要在请求中发送任何秘密(例如密码)信息。这是一个很大的主题,并不适合这个问题的 cmets 部分。
-
@CD001 哇哦……我没想到。我想我可以为站点
A创建一个用户,就像我创建其他用户一样。通过 HTTPS 连接到它?我还不知道怎么做,我需要购买 SSL 证书吗?我现在想推迟。受IP地址限制,我喜欢这个主意,所以我必须在我的filters.php中的某个时候检查一下,对吧?你对我应该在哪里检查有什么建议吗?另外,您是否知道任何有关响应任何请求的 json 文件的信息。我对此很陌生。到目前为止,非常感谢你们的提示。 :)