postman 設置api_token,測試數據等操作


在postman的環境變量中先設置好一個用戶的token(事先你的數據庫里面要有用戶的這個數據),如下圖:

然后在api請求的url 的head頭部添加對應的token鍵名,value值用花括號{{token}}包住,就會自動獲取其值。

 

1、routes.php文件設置中間件路由,將你的控制器放在里面

    Route::group(['middleware' => 'auth.api'], function () {

        Route::controllers([

            'check_lists' => 'CheckListsController',
        ]);
    });

 

中間件middleware文件目錄下創建AuthenticateApi.php

<?php

namespace App\Http\Middleware;

use Closure;
use App\Models\User;
use Illuminate\Support\Facades\Auth;

class AuthenticateApi
{
    public function handle($request, Closure $next)
    {

        $token = $request->header('Token');
        if (! $token) {
            return \JSend::error('Missing Api Token.', 401);
        }

        $user = User::where('token', $token)->first();
        if (! $user) {
            return \JSend::error('Invalid Api Token.', 401);
        }

        Auth::setUser($user);

        return $next($request);
    }
}

在Kernel.php文件里面注冊該中間件。

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [

    ];

    /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
        ],

        'api' => [
            // 'throttle:60,1',
        ],
    ];

    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
    
        'auth.api'   => \App\Http\Middleware\AuthenticateApi::class,
    
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    ];
}

接着,在url請求的控制器里面驗證下時候請求成功

<?php

namespace App\Http\Controllers\Api;

use App\Models\CheckList;
use App\Models\User;
use App\Models\Good;
use App\Models\GoodCate;
use Illuminate\Http\Request;

use App\Http\Controllers\Controller;

class CheckListsController extends Controller
{

    //添加檢查清單
    public function postAddList(Request $request)
    {
        dd(auth()->user()->id);

成功獲取到該token對應的用戶的ID;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM