如何用Laravel 做Api接口
我想用laravel做个api接口，但是作为接口，应该对请求做校验，我能想到将校验的数据放到header中，在laravel的中间件对header做校验，但是我现在不知道拿到header怎么去用。
还有就是做api对请求校验的作用，重要性
API接口的校验有很多种，看你的API是用在哪方面，APP还是web。
也不一定非要放在header中，使用基础的signature方案也能完成对接口的校验。
signature方案：客户端和API使用同一套加密规则，提供一个APPkey和secret，然后经过secret加密（或者其他处理过程）生成signature，传输的时候将signature和appkey作为参数传递。这是目前用的比较多的一种API接口调用权限校验，只是用来校验客户端是否有权限调用API。
JWT: JSON WEB TOKEN 也是一种可选的，只不过他更复杂， 更多的是用来校验用户的登录状态和权限，（用在APP、无状态的web系统），关于JWT有相对应的 composer 包可选择。核心思想就是，API加密一个uid或者其他标识，生成一个token，这个token是有时限的，比如两个小时，放在header的Authorization中，通过获取进行校验，（涉及用户的操作，一般会传递uid或者其他类似标识字段），通过JWT进行权限校验即可。
至于拿到 header 怎么用，如果是JWT 取出 Authorization字段，以及标识字段（如UID）然后进行JWT校验即可，加密和校验可以自己实现，不过建议使用成熟的composer包吧，比如我用过的：https://github.com/lcobucci/jwt。
看你到底需求什么校验 是 `用户鉴权` 还是 `API接口调用权限校验`，个人认为这两者是不同的。
另外API请求校验的作用很明显，别人即使知道你的API，也无法调用。（这个无法调用是相对的，如果你的signature校验写的很死，尤其是可以多次应用的signature，就存在重放攻击）。
用户鉴权这个就更不用说了，不同的用户只能操作自己权限的东西，不鉴权的API，是存在各种问题的。