hkh8DDTIfaq5hPlPoj3MwCO7UCTjG9YXCmghsT75

Laravel Passport Authentication

Routes

// routes/api.php

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

Route::get('articles', 'ArticleController@index');
Route::get('articles/{id}', 'ArticleController@show');
Route::post('articles', 'ArticleController@store');
Route::put('articles/{id}', 'ArticleController@update');
Route::delete('articles/{id}', 'ArticleController@delete');

});

Route::group([
    'prefix' => 'auth'
], function () {

    Route::post('login', 'AuthController@login');
    Route::post('signup', 'AuthController@signup');

    Route::group([
      'middleware' => 'auth:api'
    ], function() {
        Route::get('logout', 'AuthController@logout');
        Route::get('user', 'AuthController@user');
    });
});

Controllers

// app/Http/Controllers/Controller.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Article;

class ArticleController extends Controller
{

public function index()
{
return Article::all();
}

public function show($id)
{
return Article::find($id);
}

public function store(Request $request)
{
return Article::create($request->all());
}

public function update(Request $request, $id)
{
$article = Article::findOrFail($id);
$article->update($request->all());

return $article;
}

public function delete(Request $request, $id)
{
$article = Article::findOrFail($id);
$article->delete();

return 204;
}
}

Model

// app/model.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
// DB Field Names
    protected $fillable = ['title', 'body'];
}
0