laravel中api的验证

在laravel中,很多情况下会需要使用api来请求数据,这时候就必须要对身份进行验证.

下面实现一个简单的api验证机制,笔者也是阅读了一些文档才有这样的思路.

1.使用中间件验证.

首先在中间件注册文件Kernel.php 下找到protected $middlewareGroups数组.

在其中加入:

'api' => [

'throttle:60,1',

'bindings',

],

这两个是laravel自带的中间件,会从当前登录用户的数据列的api_token字段中验证当前发起请求的api_token与数据库中的是否一致.否则该api请求会被拒绝,抛出一个401错误.

2.返回给用户页面的api

前面提到过,发起api请求的参数中必须携带一个api_token的60位哈希值且验证通过才不会被拒绝.

所以在用户登录的页面上我们必须返回一个api_token到页面上.

在页面底部嵌入javaqscript代码

token.png

该javascript代码加入了一个tokenize函数于window对象下,当用户登录时会自动从数据库中拿到该用户的api_token返回到页面上.

3.vue ajax请求api时调用该api_token

以下为示例代码:

javascript_api.png

上面的示例代码展示了如何从后台取出评论 首先.在vue实例化的时候会调用 fetchData 这样就获取到了comment,

整个fetchData中就已经展示了 如何使用已经写好了的函数tokenize来通过中间件的验证获取api数据

以上就是该文章的内容. laravel中的api验证 其实还有其他方法. 如果有其他想法,可以发邮件给我

本人邮箱:531299585@qq.com

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容