tohokuaikiのチラシの裏

技術的ネタとか。

LaravelのAuthをAPIで効かす時にいつも忘れるのでデジタルタトゥーに刻みたい

make authしてから

$ ./artisan make:auth

は、Laravelの古い奴だっけ…

じゃなくて

$./artisan ui vue --auth

してから、

APIでもSessionを効かす

app/Http/Kernel に

<?php
    protected $middlewareGroups = [
        'web' => [
              // 省略
        ],

        'api' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,

この4行を追加する。

Policyを効かす

$ ./artisan make:policy UserPolicy --model=User

とかでModelのPolicyを作って、Controllerで

<?php
class UserController extends Controller
{
    /**
     * CardInfoController constructor.
     */
    public function __construct()
    {
        $this->authorizeResource(User::class, 'user');
    }

とかするとリソースポリシーが効く