👋

Laravelログイン実装

2021/11/28に公開

はじめに

Laravelでのログイン実装は簡単という事で、エンジニア初心者なりに手順説明をメモという形で残してみました。

環境

cloud9

ログイン機能実装手順

  1. パッケージリストの更新
$ sudo yum -y update
  1. Composerで必要なライブラリをインストール
$ sudo yum install -y php-mbstring php-openssl php-xml unzip
  1. バージョン確認,PHPのバージョンが7.2
$ php --version
  1. Composerをインストールするためのスクリプトをダウンロード
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  1. Composer2.16をインストール
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.1.6
  1. インストール確認,Composer version 2.1.6 2021-08-19 17:11:08の表記されれば良い
$ composer -V
  1. プロジェクト作成
$ composer create-project --prefer-dist laravel/laravel hoge_app "5.8.*"
  1. プロジェクトにcdしLaravelのバージョン確認
$ php artisan -V
  1. Git管理をこのへんで行います
$ git init
$ git add .
$ git commit -m "first commit"
  1. アプリが正常かの確認,ローカルサーバーの起動
$ php artisan serve --port=8080
  1. .evnのファイルを開きます
    .envファイルを、以下のように変更
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

・CONNECTIONをmysqlからsqliteに変更

DB_CONNECTION=sqlite
  1. データーベースの作成
$ sqlite3 database/database.sqlite
.tables
.exit
  1. composerパッケージのインストール
$ composer require rutorika/sortable 7.0.0
  1. Node.jsインストール
$ npm install
  1. ログイン機能を作るためのソースマップを作成
$ npm run dev
  1. https通信に変更
    ・通信内容を盗み見られても分からないように暗号化するため
    app/Providers/AppServiceProvider.phpを以下のように変更
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
+ use Illuminate\Routing\UrlGenerator;

class AppServiceProvider extends ServiceProvider
{
  /**
   * Register any application services.
   *
   * @return void
   */
  public function register()
  {
      //
  }

  /**
   * Bootstrap any application services.
   *
   * @return void
   */
-    public function boot()
+    public function boot(UrlGenerator $url)
  {
-        //
+        $url->forceScheme('https');
  }
}
  1. ログイン/ログアウト機能を実装
$ php artisan make:auth
  1. usersテーブルを作成します
$ php artisan migrate

最後に

今回はLaravelのログイン機能実装についてご紹介しました。
これで少しでも開発スピードが上がればなと思います。
ここまで読んでいただきありがとうございます。

Discussion