【发布时间】:2016-10-06 19:21:35
【问题描述】:
我正在尝试有一个将信息存储到我的 CRM 中的 api,以将我遵循的参数/详细信息推送到数据中:
Called_number, caller_number, agent_number, date, time, call_status, total_call_duration, Call_UUID, Recording_URL, conversation_duration
我已经创建了与上面提到的数据名称相同的迁移表,请求协议是HTTP,请求数据类型是Query String,响应数据类型是JSON。
数据是通过第三方的简单 URL 发送的,所以我使用简单的 post 路由将数据插入到数据库中,如下所示:
Route::post('/calllogs/{called_number}/{caller_number}/{agent_number}/{date}/{time}/{call_status}/{total_call_duration}/{call_UUID}/{recording_URL}/{converstation_duration}', 'CalllogController@insert')
有什么方法可以通过一些动态 API 密钥来保护这一点,以防止插入虚假数据?我的意思是任何知道 URL 的人都可以创建 url 并将数据插入到我的数据库中,我想要这样的东西:
Route::post('/calllogs/{api_key}/{caller_number}....
我可以在哪里动态检查api_key,然后插入到数据库中。
谢谢。
【问题讨论】:
-
@Loek 的回答很好。如果你需要更大的 API 认证系统,你也可以看看 Laravel Passport:laravel.com/docs/5.3/passport
标签: laravel laravel-routing laravel-5.3