初心者のためのラービア7 API認証
最近では、APIは現代のアプリケーションのための最も重要なものになっています.この記事では、Laravel 7を簡単に使用してAPIを作成する方法を見ていきます.
APIが何であるか、なぜ私たちがそれを使うべきかをカバーするつもりはありません.それで、あなたがAPIが何であるかについて、わからないならば?その後、Googleの最初のし、ここに来る.
ポイントに来ましょう
まず最初に、Laravelプロジェクトを作りましょう
次に、アプリ/ユーザーのユーザーモデルに移動します.PHPとこのコードを追加する
そしてこのルートを追加する
ログインする
あなたは行く準備ができている、歓声.
APIが何であるか、なぜ私たちがそれを使うべきかをカバーするつもりはありません.それで、あなたがAPIが何であるかについて、わからないならば?その後、Googleの最初のし、ここに来る.
ポイントに来ましょう
まず最初に、Laravelプロジェクトを作りましょう
composer create-project --prefer-dist laravel/laravel laravelApi
私たちはLaravel Sanctumを使ってトークンを取得しますcomposer require laravel/sanctum
設定ファイルと移行を公開するphp artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
今、あなたのアプリケーション/HTTP/カーネルのAPIミドルウェアグループにensureFrontendRequestRerectoryミドルウェアを追加する時が来ました.PHPファイルuse Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:60,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
データベースの設定.envファイルDB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=yourdatabasename
DB_USERNAME=username
DB_PASSWORD=password
移動しましょうphp artisan migrate
それはあなたのアプリケーションのユーザーテーブルを作成する責任があります.次に、アプリ/ユーザーのユーザーモデルに移動します.PHPとこのコードを追加する
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}
次に、ルートフォルダとオープンAPIに移動します.PHPそしてこのルートを追加する
Route::post('/register', 'RegisterController@register');
Route::post('/login', 'LoginController@login');
デフォルトのミドルウェアをRoute::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
コントローラコントローラとlogincontrollerphp artisan make:controller LoginController
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
class LoginController extends Controller
{
public function login(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$user = User::where('email', $request->email)->first();
if (!$user || !Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return $user->createToken('x-key')->plainTextToken;
}
}
php artisan make:controller RegisterController
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class RegisterController extends Controller
{
public function register(Request $request)
{
$request->validate([
'name' => ['required'],
'email' => ['required', 'email', 'unique:users'],
'password' => ['required', 'min:8', 'confirmed']
]);
User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password)
]);
}
}
郵便配達人を使って登録しましょうログインする
あなたは行く準備ができている、歓声.
Reference
この問題について(初心者のためのラービア7 API認証), 我々は、より多くの情報をここで見つけました https://dev.to/devzversity/laravel-7-api-authentication-for-beginners-496oテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol