【发布时间】:2015-06-23 00:22:19
【问题描述】:
举个例子:
有检查结果验证 API,还有另一个 Web 应用程序将该 API 用作服务。根据该api响应(如果成功)用户可以进入网站或不
要做到这一点,我的基础知识有问题,
我有两个选择(可能有很多:) 任何好的都可以接受! )
01). 使用跨域AJAX请求并根据响应调用API。向 Web 应用、服务器脚本发送另一个请求并创建会话
$.get("http://api.resultval.com/v1/",
{index_no : no,subject : sub,grade : grade},function(response_msg){
obj = JSON.parse(response_msg);
if(obj.msg.valid){
// results validated marked as validated result on user cv
}
}
);
02). 不是向 API 发送 AJAX 请求,而是将用户插入的结果发送到服务器端,并使用服务器端脚本使用 guzzle 库调用 API
$client = new \GuzzleHttp\Client();
$response = $client->get('http://api.resultval.com/v1/'.Input::get('index_no').'/'.Input::get('subject').'/'.Input::get('grade'));
if($response->json()['msg']==='verified'){
// results validated marked as validated result on user cv
}
什么是最好的方法?安全性如何?我觉得第二个不错!但我还在想有一种方法可以在客户端做到这一点?
【问题讨论】:
-
你说的是登录之类的东西吗?以便被调用的 API 决定用户是否可以访问或不依赖于传输的数据?
-
@KhorneHoly Yeh 这是我的问题!
-
@Tech-Sira 我更喜欢您的第二种解决方案。最好将你的 API 调用到服务器端,用户不需要知道你在调用一个 api,并且通过 AJAX,他们可以知道你的 API URL 和发送的数据(使用浏览器中的开发人员工具)。跨度>
-
编辑了问题并添加了特定的库来完成任务!