スマートフォンアプリケーションの増加に伴い、モバイルアプリケーション開発の需要は日々増加しており、ユーザーログインはユーザー情報のセキュリティを保護するだけでなく、モバイルアプリケーションにおいて非常に重要な機能の1つとなっています。さまざまなデバイス上で情報にすばやくアクセスできるため、ユーザーの利便性も向上します。 Laravel は、開発者が APP 側のログイン機能を含むアプリケーションのさまざまな機能を実装するのに役立つ多くの組み込み関数と拡張パッケージを提供する人気の PHP フレームワークです。この記事ではLaravelを使ってAPPログイン機能を実装する方法を紹介します。
1. Laravel のインストールと設定
Laravel で APP ログイン機能を実装する前に、Laravel 環境のインストールと設定を行う必要があります。まず、Composer ツール (https://getcomposer.org/) がインストールされていることを確認します。次に、次のコマンドを実行して、Laravel をコンピューターにインストールします。
composer create-project --prefer-dist laravel/laravel myapp
ここで、「myapp」は、作成する Laravel アプリケーションの名前です。
インストールが完了したら、myapp ディレクトリに入り、次のコマンドを実行してローカル開発サーバーを起動できます。
php artisan serve
http://localhost:8000 にアクセスして、Laravel のウェルカム ページを参照してください。次に、APP 側でログイン機能をサポートするために、Passport 拡張パッケージをインストールして構成する必要があります。
次のコマンドを実行して Passport 拡張パックをインストールします:
composer require laravel/passport
インストールが完了したら、次のコマンドを実行して必要な Passport キーを生成します:
php artisan passport:keys
次に、次のコマンドを実行します Passport データベース移行を生成するには:
php artisan migrate
2. APP ログイン機能を実装します
まず、アプリケーションがユーザーを管理できるように、ユーザー モデルを作成する必要があります。次のコマンドを実行して、User という名前のモデルを作成します。
php artisan make:model User
次に、AuthController という名前のコントローラーを作成し、その中に次のコードを追加します。
<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateHttpRequest; use IlluminateSupportFacadesAuth; use Validator; class AuthController extends Controller { public function register(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required', ]); if ($validator->fails()) { return response()->json(['error' => $validator->errors()], 401); } $user = new User; $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); $token = $user->createToken('MyApp')->accessToken; return response()->json(['token' => $token], 200); } public function login(Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'password' => 'required', ]); if ($validator->fails()) { return response()->json(['error' => $validator->errors()], 401); } $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('MyApp')->accessToken; return response()->json(['token' => $token], 200); } else { return response()->json(['error' => 'Unauthorized'], 401); } } }
上記のコードでは、 register メソッドによりユーザーが許可されます。を登録し、ログイン方法を使用してユーザーがログインできるようにします。ユーザーが正常に登録またはログインすると、アクセス トークンが返され、後続のユーザー要求に使用されます。
次に、ユーザーのログインおよび登録リクエストを処理するために、対応する API ルートを作成する必要があります。 Routes/api.php ファイルに、次のコードを追加します。
<?php use IlluminateHttpRequest; use IlluminateSupportFacadesRoute; use AppHttpControllersAuthController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']);
上記のコードは、登録リクエストとログイン リクエストを AuthController コントローラの対応するメソッドにマップします。
3. ログイン関数をテストする
すべてのコードの準備ができたので、次の URL にアクセスしてログイン関数と登録関数をテストできます。
POST /api/register
POST /api/login
#ユーザーがログインに成功すると、トークンが返されます。このトークンは、ユーザーを認証するための後続の API リクエストの作成に使用できます。
$token = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1In0.eyJhdWQiOiIxMSIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1IiwiaWF0IjoxNjMwMzkwNTM3LCJuYmYiOjE2MzAzOTA1MzcsImV4cCI6MTYzMDM5NDAzNywiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.XsIFsVCc3N1oZ70vzWn4wHQSv3Q-JVdlfu4LJkUPL0he_53bpgJrq5jw8mHygB-1-kpq62N7eG_r08fXKkmbiqeITmUiaGKa0prKzXCoexuYKuxYqG8j-HY2UyDp5g_TE6M4eW5FrcDpTJ0WcQ5ShDhdszUFQUH_qR52ypeEUmsF6CFwx1YJt4AmCFEy2CjsKOMl9K9o0mV_ytvBZ9drY6w6HTRfYfU7q5yuM-W3Qp6bbS-ljzY_2M0RWzwZJm6QvO3Byjhw1TNUrPHFs6xGlY4M7zgkDZxas5srQgpFjKof2LztN7QAJaiT_d6XAKpS24JA2-v2U7x3g'; $response = $this->withHeaders([ 'Authorization' => $token, ])->json('GET', '/api/user');
この例では、トークンを使用して GET リクエストを /api/user に送信し、ユーザーの情報を返します。ログインが失敗した場合、API は 401 エラー コードを返します。ログインに成功すると、ユーザーの情報が返されます。
Laravel の Passport 拡張パッケージを使用して、APP 側でログイン機能を実装するのは非常に簡単で、対応する拡張パッケージをインストールして設定するだけです。この記事では、Laravel を使用して完全な APP 側ログイン機能を完成させ、ユーザーの素早いログインとセキュリティ保護を実現する方法を示します。
以上がlaravelはアプリ側ログインを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。