Php Artisan làm Auth để làm gì?

ấu trùng 6. 0 đã hết. Kiểm tra Xây dựng ứng dụng CRUD Laravel 6 với Xác thực để tìm hiểu những điều mới mà Laravel có thể làm cho bạn

Bài đăng trên blog này bao gồm Laravel 5. 8

TL; DR. Laravel là một framework PHP tuyệt vời. Hiện tại, đây là dự án PHP được đánh dấu sao nhiều nhất trên Github và rất nhiều công ty cũng như mọi người trên khắp thế giới sử dụng nó để xây dựng các ứng dụng tuyệt vời. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách dễ dàng để xây dựng một ứng dụng web với Laravel và thêm xác thực vào nó mà không phải đổ mồ hôi. Kiểm tra repo để lấy mã


Laravel là một khung công tác PHP mã nguồn mở, miễn phí được thiết kế để xây dựng các ứng dụng web với cú pháp rõ ràng và thanh lịch. Laravel có mức độ trừu tượng cao giúp bảo vệ nhà phát triển thông thường khỏi các hoạt động bên trong phức tạp. Laravel giúp bạn tiết kiệm thời gian và công sức vì nó có rất nhiều tính năng vượt trội. Những tính năng tuyệt vời này bao gồm

  • Di chuyển cơ sở dữ liệu
  • ORM hùng hồn
  • Ủy quyền và Chính sách
  • Người lập kế hoạch
  • xếp hàng

Laravel tận dụng tốt các thành phần đã được viết và kiểm tra tốt từ cộng đồng PHP. Đây là một trong số ít các khung đi kèm với môi trường phát triển như Homestead và Valet. Tài liệu rất chi tiết và có một cộng đồng lớn dựa trên Laravel. Một số cộng đồng đáng chú ý là laracast. com, larajobs. com, laravel-tin tức. com, laravelpodcast. com và larachat. đồng

"Laravel là một trong số ít framework thực sự có môi trường phát triển như Homestead"

Tweet cái này đi

Chúng ta sẽ xây dựng một ứng dụng liệt kê nhân vật đơn giản với Laravel 5. 8. Ứng dụng của chúng tôi sẽ chỉ liệt kê 10 nhân vật Game of Thrones và tên thật của họ. Sau khi chúng tôi thêm xác thực vào ứng dụng, tất cả người dùng đã đăng nhập sẽ có đặc quyền được biết những nhân vật nổi tiếng này một cách cá nhân

Bắt đầu nào

Laravel sử dụng Composer để quản lý các phụ thuộc của nó. Vì vậy, trước khi sử dụng Laravel, hãy đảm bảo rằng bạn đã cài đặt Trình soạn thảo trên máy của mình. Chúng ta có thể cài đặt Laravel bằng cách phát lệnh Composer

php artisan make:controller ListController
7 trong terminal của bạn như vậy.
php artisan make:controller ListController
8 hoặc sử dụng trình cài đặt
php artisan make:controller ListController
9

Tạo ứng dụng mới nhanh hơn bằng cách sử dụng lệnh

php artisan make:controller ListController
9 như vậy.


namespace App\Http\Controllers;

class ListController extends Controller
{
    public function show()
    {
       $characters = [
         'Daenerys Targaryen' => 'Emilia Clarke',
         'Jon Snow'           => 'Kit Harington',
         'Arya Stark'         => 'Maisie Williams',
         'Melisandre'         => 'Carice van Houten',
         'Khal Drogo'         => 'Jason Momoa',
         'Tyrion Lannister'   => 'Peter Dinklage',
         'Ramsay Bolton'      => 'Iwan Rheon',
         'Petyr Baelish'      => 'Aidan Gillen',
         'Brienne of Tarth'   => 'Gwendoline Christie',
         'Lord Varys'         => 'Conleth Hill'
       ];

       return view('welcome')->withCharacters($characters);
    }
}
1. Kiểm tra Laravel để tìm hiểu cách thiết lập bộ cài đặt Laravel

Nếu bạn đã sử dụng lệnh cài đặt

php artisan make:controller ListController
9 để tạo một ứng dụng mới, thì bạn phải chạy


namespace App\Http\Controllers;

class ListController extends Controller
{
    public function show()
    {
       $characters = [
         'Daenerys Targaryen' => 'Emilia Clarke',
         'Jon Snow'           => 'Kit Harington',
         'Arya Stark'         => 'Maisie Williams',
         'Melisandre'         => 'Carice van Houten',
         'Khal Drogo'         => 'Jason Momoa',
         'Tyrion Lannister'   => 'Peter Dinklage',
         'Ramsay Bolton'      => 'Iwan Rheon',
         'Petyr Baelish'      => 'Aidan Gillen',
         'Brienne of Tarth'   => 'Gwendoline Christie',
         'Lord Varys'         => 'Conleth Hill'
       ];

       return view('welcome')->withCharacters($characters);
    }
}
3 ngay sau lệnh trước đó để cài đặt tất cả các phụ thuộc

Bây giờ hãy chạy phần sau trong thiết bị đầu cuối của bạn để khởi chạy ứng dụng của bạn

php artisan serve

Khám phá cấu trúc thư mục

Các ứng dụng Laravel tuân theo mẫu thiết kế Model-View-Controller

Php Artisan làm Auth để làm gì?

(Nguồn. Lập trình viên tự học)

Tóm lại,

  • Các mô hình truy vấn cơ sở dữ liệu của bạn và trả về dữ liệu cần thiết
  • Lượt xem là các trang hiển thị dữ liệu
  • Bộ điều khiển xử lý các yêu cầu của người dùng, truy xuất dữ liệu từ các mô hình và chuyển chúng đến các khung nhìn

Đọc thêm về MVC tại đây

Thư mục ứng dụng là phần cốt lõi của ứng dụng Laravel của bạn. Nó chứa các thư mục sau

  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    4
    • Chứa tất cả các lệnh Artisan của bạn
  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    5
    • Chứa tất cả các bộ điều khiển, phần mềm trung gian, yêu cầu và tệp định tuyến của bạn
  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    6
    • Chứa tất cả các nhà cung cấp dịch vụ ứng dụng của bạn. Bạn có thể đọc thêm về Nhà cung cấp dịch vụ tại đây
  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    7
    • Chứa tất cả các lớp sự kiện của bạn
  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    8
    • Chứa trình xử lý ngoại lệ ứng dụng của bạn và các lớp ngoại lệ tùy chỉnh
  • 
    
    namespace App\Http\Controllers;
    
    class ListController extends Controller
    {
        public function show()
        {
           $characters = [
             'Daenerys Targaryen' => 'Emilia Clarke',
             'Jon Snow'           => 'Kit Harington',
             'Arya Stark'         => 'Maisie Williams',
             'Melisandre'         => 'Carice van Houten',
             'Khal Drogo'         => 'Jason Momoa',
             'Tyrion Lannister'   => 'Peter Dinklage',
             'Ramsay Bolton'      => 'Iwan Rheon',
             'Petyr Baelish'      => 'Aidan Gillen',
             'Brienne of Tarth'   => 'Gwendoline Christie',
             'Lord Varys'         => 'Conleth Hill'
           ];
    
           return view('welcome')->withCharacters($characters);
        }
    }
    9
    • Chứa tất cả các công việc được xếp hàng bởi ứng dụng của bạn
  • php artisan make:model <modelName>
    0
    • Chứa tất cả các lớp xử lý cho các sự kiện của bạn
  • php artisan make:model <modelName>
    1
    • Chứa các lớp chính sách ủy quyền cho ứng dụng của bạn. Các chính sách được sử dụng để xác định xem người dùng có thể thực hiện một hành động nhất định đối với tài nguyên hay không

Các thư mục khác cụ thể là

  • php artisan make:model <modelName>
    2 chứa các tệp tự động tải khung của bạn và các tệp bộ đệm được tạo
  • php artisan make:model <modelName>
    3 chứa các tệp cấu hình ứng dụng của bạn
  • php artisan make:model <modelName>
    4 chứa các hạt giống và di chuyển cơ sở dữ liệu của bạn
  • php artisan make:model <modelName>
    5 chứa nội dung của bạn (hình ảnh, JavaScript, css, v.v. )
  • php artisan make:model <modelName>
    6 chứa các tệp xem và bản địa hóa của bạn
  • php artisan make:model <modelName>
    7 chứa tất cả các mẫu Blade, bộ đệm tệp và nhật ký đã biên dịch của bạn
  • php artisan make:model <modelName>
    8 chứa tất cả các bài kiểm tra của bạn
  • php artisan make:model <modelName>
    9 chứa các phụ thuộc ứng dụng của bạn

Thiết lập bộ điều khiển

Mở thiết bị đầu cuối của bạn và trong thư mục gốc của dự án, hãy chạy lệnh bên dưới để tạo một

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
0

php artisan make:controller ListController

Mở

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
1 và cấu hình nó như vậy



namespace App\Http\Controllers;

class ListController extends Controller
{
    public function show()
    {
       $characters = [
         'Daenerys Targaryen' => 'Emilia Clarke',
         'Jon Snow'           => 'Kit Harington',
         'Arya Stark'         => 'Maisie Williams',
         'Melisandre'         => 'Carice van Houten',
         'Khal Drogo'         => 'Jason Momoa',
         'Tyrion Lannister'   => 'Peter Dinklage',
         'Ramsay Bolton'      => 'Iwan Rheon',
         'Petyr Baelish'      => 'Aidan Gillen',
         'Brienne of Tarth'   => 'Gwendoline Christie',
         'Lord Varys'         => 'Conleth Hill'
       ];

       return view('welcome')->withCharacters($characters);
    }
}

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
2 chỉ ra rằng chúng ta đang chuyển mảng
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
3 sang chế độ xem có tên là
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
4. Chúng tôi sẽ tạo chế độ xem đó sau trong bài đăng này

Thiết lập mô hình

Các mô hình Laravel được lưu trữ theo mặc định trong thư mục gốc của thư mục

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
5. Mô hình
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
6 vận hành với khung Laravel. Ứng dụng này chỉ cần mô hình
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
6 nên chúng tôi sẽ không tạo thêm bất kỳ mô hình nào. Tuy nhiên, nếu bạn muốn tạo nhiều mô hình hơn, bạn chỉ cần chạy lệnh bên dưới như vậy

php artisan make:model <modelName>

trong đó

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
8 đại diện cho tên của mô hình bạn muốn tạo

Thiết lập các tuyến đường

Mở

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
9 và cấu hình nó như vậy

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');

Khi một yêu cầu đến tuyến đường

composer require auth0/login:"~5.0"
0, nó sẽ gọi phương thức
composer require auth0/login:"~5.0"
1 của
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
0 và hiển thị giá trị được trả về trong chế độ xem
composer require auth0/login:"~5.0"
3. Chúng tôi sẽ định cấu hình chế độ xem
composer require auth0/login:"~5.0"
3 sau trong bài đăng này

Thiết lập xác thực

Chúng tôi sẽ sử dụng Auth0 để xác thực. Thiết lập xác thực tích hợp với Laravel khá đơn giản, nhưng hạn chế. Với Auth0, bạn sẽ có quyền truy cập vào bảng điều khiển dễ sử dụng, khả năng tích hợp các nhà cung cấp nhận dạng xã hội, xác thực hai yếu tố, đăng nhập không cần mật khẩu, v.v. Và may mắn thay, nó rất dễ tích hợp với ứng dụng Laravel của bạn. Hãy cùng kiểm tra nào

Nếu bạn chưa có tài khoản, hãy tiếp tục và đăng ký tài khoản Auth0 miễn phí tại đây

Dùng thử miễn phí nền tảng xác thực mạnh mẽ nhất. Bắt đầu →

Sau khi bạn đã đăng ký, hãy đến trang tổng quan và nhấp vào "Ứng dụng". Nhấp vào "Tạo ứng dụng" và đặt tên cho ứng dụng là "Ứng dụng Laravel" hoặc bất cứ thứ gì bạn muốn. Sau đó nhấp vào "Ứng dụng web thông thường" và nhấn tạo

Tiếp theo, bạn cần thêm URL gọi lại hợp lệ và URL đăng xuất trong bảng điều khiển

Nhấp vào "Ứng dụng" và chọn ứng dụng bạn vừa tạo (hoặc ứng dụng mặc định). Tiếp theo, nhấp vào "Cài đặt"

Cập nhật các giá trị này như sau

  • URL gọi lại được phép.
    composer require auth0/login:"~5.0"
    5
  • URL đăng xuất.
    composer require auth0/login:"~5.0"
    6

Tiếp theo, quay lại thiết bị đầu cuối của bạn và cài đặt plugin Auth0 PHP và plugin Auth0 Laravel

composer require auth0/login:"~5.0"

Bây giờ hãy mở tệp

composer require auth0/login:"~5.0"
7 và thêm nhà cung cấp dịch vụ đăng nhập Auth0 vào danh sách nhà cung cấp

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];

Sau đó cuộn xuống mảng

composer require auth0/login:"~5.0"
8 và thêm mặt tiền Auth0

// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];

Tiếp theo, mở

composer require auth0/login:"~5.0"
9 và thêm phần sau vào dưới
// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
0

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}

Bạn cần xuất bản cấu hình plugin. Trong thiết bị đầu cuối của bạn, hãy chạy

php artisan vendor:publish

Khi nó hỏi bạn muốn xuất bản tệp nào, hãy chọn

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
1

Thao tác này sẽ tạo tệp

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
2. Mở cái này lên ngay bây giờ và bạn sẽ thấy nó đang sử dụng một số biến Auth0. Đây là những thông tin nhạy cảm, vì vậy bạn cần thêm chúng vào tệp
// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
3

Mở

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
3 và thêm

php artisan make:controller ListController
0

Để điền vào các giá trị này, hãy quay lại bảng điều khiển Auth0 của bạn, chọn ứng dụng của bạn và nhấp vào "Cài đặt"

Trong khi bạn mở

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
3, hãy kiểm tra kỹ xem
// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
6 có khớp chính xác với URL nhà phát triển của bạn không, bao gồm cả cổng. Nó nên ghi là
// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
7. Nếu không, hãy cập nhật ngay bây giờ

Bước cấu hình cuối cùng là tắt trình điều khiển người dùng Laravel để sử dụng Auth0

Mở

// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
8, cuộn xuống
// ...
'providers' => [
    // ...
    Auth0\Login\LoginServiceProvider::class,
];
9 và dán vào

php artisan make:controller ListController
1

Bây giờ bạn đã cấu hình plugin Auth0, bạn chỉ cần tích hợp nó vào ứng dụng

Tích hợp Auth0

Mở

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
9 và thêm các tuyến xác thực này

php artisan make:controller ListController
2

Các tuyến này sẽ xử lý đăng nhập, đăng xuất và chuyển hướng đến Auth0 trong khi đăng nhập. Bây giờ bạn cần tạo

// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
1 đó

Trong thiết bị đầu cuối của bạn, hãy chạy

php artisan make:controller ListController
3

Mở

// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
2 và thay thế nó bằng

php artisan make:controller ListController
4

Các phạm vi được yêu cầu trong hàm

// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
3 là.
// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
4,
// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
5 và
// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
6

Ngoài ra còn có một chức năng

// ...
'aliases' => [
    // ...
    'Auth0' => Auth0\Login\Facade\Auth0::class,
];
7 sẽ xóa tất cả dữ liệu phiên để đăng xuất người dùng

Bây giờ là lúc kết nối các nút để người dùng có thể đăng nhập và đăng xuất

Mở

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
4 của bạn và định cấu hình nó như vậy

php artisan make:controller ListController
5

Ở đây, chúng tôi đang lặp qua dữ liệu mảng

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
3 được truyền từ
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
0 để hiển thị phù hợp trong chế độ xem
composer require auth0/login:"~5.0"
3

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
2 — Bạn có thể kiểm tra xem người dùng có được xác thực hay không thông qua phương pháp này từ Mặt tiền
// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
3. Nó trả về true nếu người dùng đã đăng nhập và false nếu người dùng chưa đăng nhập. Kiểm tra tại đây để biết thêm về cách hoạt động của Mặt tiền trong Laravel

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
4 — Điều này ngược lại với
// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
2. Nó trả về true nếu người dùng chưa đăng nhập và false nếu người dùng đã đăng nhập. Kiểm tra ở đây để xem tất cả các phương pháp bạn có thể gọi trên Mặt tiền
// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
3

Bây giờ chúng ta đã thiết lập tất cả các tuyến đường và chế độ xem, ứng dụng của bạn sẽ trông như thế này

Trang đích

Nếu bạn tự triển khai xác thực, bạn có thể có trang đăng nhập và đăng ký như thế này

Trang đăng nhập

Trang đăng ký

Vì chúng tôi đang sử dụng Auth0 để xác thực, ứng dụng của chúng tôi sẽ chuyển hướng người dùng đến trang đăng nhập Auth0, vì vậy bạn không phải tự tạo những trang này

Sử dụng phần mềm trung gian Auth

Phần mềm trung gian cung cấp một cơ chế thuận tiện để lọc các yêu cầu HTTP đi vào ứng dụng của bạn. Ví dụ: Laravel bao gồm một phần mềm trung gian xác minh người dùng ứng dụng của bạn được xác thực. Nếu người dùng không được xác thực, phần mềm trung gian sẽ chuyển hướng người dùng đến màn hình đăng nhập. Tuy nhiên, nếu người dùng được xác thực, phần mềm trung gian sẽ cho phép yêu cầu tiếp tục. Thư mục

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
7 chứa một số phần mềm trung gian

Hãy xem cách thức hoạt động của phần mềm trung gian

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
8

Thêm một tuyến đường mới vào tệp

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'ListController@show');
9 của bạn như vậy

php artisan make:controller ListController
6

Nếu bạn vẫn đăng nhập, hãy truy cập http. //máy chủ cục bộ. 8000/got và bạn sẽ nhận được thông báo "Bạn được phép xem trang này. ". Bây giờ, đăng xuất, sau đó thử truy cập tuyến đường đó và bạn sẽ được chuyển hướng trở lại Auth0 để đăng nhập

Phần mềm trung gian

// ...
class AppServiceProvider extends ServiceProvider
{
  // ...
  public function register()
  {
    $this->app->bind(
      \Auth0\Login\Contract\Auth0UserRepository::class,
      \Auth0\Login\Repository\Auth0UserRepository::class
    );
  }
}
8 của Laravel đã chặn yêu cầu, kiểm tra xem người dùng đã đăng nhập chưa, phát hiện ra rằng người dùng chưa đăng nhập, sau đó chuyển hướng người dùng trở lại tuyến đường
php artisan vendor:publish
1, gửi họ đến Auth0

kết thúc

Làm tốt. Bạn vừa xây dựng ứng dụng đầu tiên của mình với Laravel. Laravel là một framework tuyệt vời để làm việc cùng. Nó tập trung vào sự đơn giản, rõ ràng và hoàn thành công việc. Như chúng ta đã thấy trong hướng dẫn này, bạn có thể dễ dàng kích hoạt xác thực tích hợp cho các ứng dụng Laravel của mình. Nếu bạn thấy mình cần nhiều hơn, bạn cũng có thể tích hợp Auth0 một cách dễ dàng

xác thực là gì ()

Laravel bao gồm các dịch vụ phiên và xác thực tích hợp thường được truy cập thông qua các mặt tiền Auth và Session. Các tính năng này cung cấp xác thực dựa trên cookie cho các yêu cầu được bắt đầu từ trình duyệt web. Chúng cung cấp các phương thức cho phép bạn xác minh thông tin đăng nhập của người dùng và xác thực người dùng

giao diện người dùng thủ công php là gì

php artisan ui vue --auth. Lệnh này nên được sử dụng trên các ứng dụng mới và sẽ cài đặt chế độ xem bố cục, chế độ xem đăng ký và đăng nhập, cũng như các tuyến cho tất cả các điểm cuối xác thực . Một HomeController cũng sẽ được tạo để xử lý các yêu cầu sau đăng nhập vào bảng điều khiển của ứng dụng của bạn.

Laravel Auth hoạt động như thế nào?

Phương thức thử chấp nhận một mảng các cặp khóa/giá trị làm đối số đầu tiên của nó. Giá trị mật khẩu sẽ được băm. Các giá trị khác trong mảng sẽ được dùng để tìm người dùng trong bảng cơ sở dữ liệu của bạn . Như vậy, trong ví dụ trên, người dùng sẽ được lấy theo giá trị của cột email.

Xác thực mặc định của Laravel hoạt động như thế nào?

Theo mặc định, Laravel bao gồm mô hình App\User Eloquent trong thư mục ứng dụng của bạn . Mô hình này có thể được sử dụng với trình điều khiển xác thực Eloquent mặc định. Nếu ứng dụng của bạn không sử dụng Eloquent, bạn có thể sử dụng trình điều khiển xác thực cơ sở dữ liệu sử dụng trình tạo truy vấn Laravel.