PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Securing a Laravel API in 20 minutes with JWTs大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

JWT相比Passport来说,轻便,@L_197_0@一样完备,性价比高。

JSON Web Token Authentication for Laravel & Lumen

先来安装jwt扩展包:

执行:

composer require tymon/jwt-auth

如果使用的Laravel是5.4及以下版本的;添加下面的代码 到config/app.PHP文件的providers配置数组中:

'providers' => [

    ...

    Tymon\JWTAuth\Providers\LaravelserviceProvider::class,
]

安装完成,然后【Publish the config】发布配置:

执行:

PHP artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelserviceProvider"

Securing a Laravel API in 20 minutes with JWTs

现在生成一个jwt.PHP文件在config文件夹下,可以用来对此扩展包进行基础配置。

打开文件,可以看到配置的值很多都是引用的.env文件中的配置。

Securing a Laravel API in 20 minutes with JWTs

所以如果有需要的话,我们在env文件中键入值即可。

比如:

Securing a Laravel API in 20 minutes with JWTs

最后,生成密钥:

执行:

PHP artisan jwt:secret

Securing a Laravel API in 20 minutes with JWTs

会在.env文件中更新一个值:

Securing a Laravel API in 20 minutes with JWTs

这个密钥将用于签名未来会用到的tokens。

Quick start

接下来是User模型类:

模型类必须实现 use Tymon\JWTAuth\Contracts\JWTSubject;

Securing a Laravel API in 20 minutes with JWTs

实现这个接口的两个方法

Securing a Laravel API in 20 minutes with JWTs

然后我们配置一下api访问的中间件设置

打开:config/auth.PHP 文件

修改为:

'defaults' => [
    'guard' => 'api',
    'passwords' => 'users',
],

...

'guards' => [
    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
    ],
],

Securing a Laravel API in 20 minutes with JWTs

接下来我们新建一个LoginController,认的LoginController待会就不用了,用这个新的来测试一下;

执行:

PHP artisan make:controller Api\Auth\LoginController

Securing a Laravel API in 20 minutes with JWTs

由于config/auth.PHP文件里有一个default配置是web:

Securing a Laravel API in 20 minutes with JWTs

就是说,认情况下,走的是web配置里的,然可以用auth:api的方式使用api的配置,不过还有一方法,就是修改Controller类的构造函数

调用AuthManager中的setDefaultDriver方法

Securing a Laravel API in 20 minutes with JWTs

接下来配置新建的这个LoginController:

大佬总结

以上是大佬教程为你收集整理的Securing a Laravel API in 20 minutes with JWTs全部内容,希望文章能够帮你解决Securing a Laravel API in 20 minutes with JWTs所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: