首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉威尔-保护API路由

拉威尔-保护API路由
EN

Stack Overflow用户
提问于 2019-04-23 18:42:36
回答 2查看 6.6K关注 0票数 2

我有以VUEJS为前端的Laravel应用程序,我是通过创建API路由来获取数据的。因此,例如,获取posts数据的路径是http://localhost/api/posts

保护我的路线的最好方法是什么?

我在laravel文档中看到了: API athentication https://laravel.com/docs/5.8/api-authentication也有Passport https://laravel.com/docs/5.8/passport

例如,现在任何用户都可以到达路由http://localhost/api/posts,他将获得包含所有posts数据的json。

我想保护它,并且只允许来自我的VUEJS组件的内部api请求来获取数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-23 18:49:10

我假设您将使用Laravel路由进行身份验证,在身份验证之后,您到达的下一个视图是一个包含所有Vue组件的视图。

解决方案很简单,即使是在文档上,也应该澄清必要的步骤。

我们需要:

  1. 加上护照composer require laravel/passport
  2. 使迁移成为php artisan migrate
  3. 安装护照php artisan passport:install

第四步比较复杂。我们需要打开User.php模型文件。首先,我们需要导入HasApiTokens并告诉模型使用它。

代码语言:javascript
运行
复制
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable

{

    use HasApiTokens, Notifiable;

    .......

}

然后,在我们的config/auth.php上,我们需要修改api数组并将驱动程序更改为passport

代码语言:javascript
运行
复制
'api' => [

    //for API authentication with Passport

    'driver' => 'passport',

    'provider' => 'users',

],

然后,在我们的app/Http/Kernel.php上,我们需要在键web中向$middlewareGroups数组添加一个中间件。

代码语言:javascript
运行
复制
protected $middlewareGroups = [

    'web' => [

        ................

        //for API authentication with Passport

        \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,

    ],

现在,我们可以在api路由上使用auth:api中间件。

代码语言:javascript
运行
复制
Route::middleware('auth:api')->group( function(){
    ...your routes here
});
票数 6
EN

Stack Overflow用户

发布于 2019-04-24 10:59:42

这就是CSRF令牌所做的,它与API授权所做的不完全相同

CSRF令牌

若要保护(内部) API或访问点不受跨站点访问的影响,请参见伪造

CSRF令牌过期并在随机时间内生成,这将使程序访问困难。

API授权

该API设计用于其他程序,您希望保护它们不受未经授权的访问的影响。

由于API令牌的过期和生成是由管理员手动处理的,因为您需要将这个API令牌放在HTML中才能正常工作,所以这里搜索的并不是API令牌。

更多关于Laravel中CSRF保护的详细信息,请参阅:Laravel CSRF生产文件

一般情况下,我们将保护所有路由,并默认设置路由

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55817534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档