return Post::query()
                    ->where(
                        'slug',
                        'sanctum-cookie-based-authentication'
                    )
                    ->firstOrFail();
            
        

Understanding the Laravel Sanctum's Cookie Based Authentication

Introduction:

Cookie-based authentication is a popular method used for user authentication in web applications. In this article, we will explore the concept of cookie-based authentication and its implementation in Laravel Sanctum, a powerful authentication package for Laravel.

Understanding Sessions in Laravel:

In Laravel, sessions are utilized to store user information on the server. By default, Laravel uses session-based storage, which means that user sessions are stored on the server. These sessions can be stored in various locations such as file storage, a database, or elsewhere, depending on the configuration.

Session Generation:

When a user enters our application, the back-end generates a session and provides a unique identifier known as the session ID. This session ID is then stored in the browser's cookies through the use of the "Set-Cookie" header, which is sent by the back-end. It's important to note that the "Set-Cookie" header includes only the session ID and not the complete session data.

Note: Although it is possible to use cookies to store session data, it is not the common approach in Laravel.

Persistence of Session through Cookies:

Once the session ID is stored in the browser's cookies, it is sent with every subsequent request made by the user until the cookie expires. This allows the back-end to identify the authenticated user based on the session ID present in the cookie.

Authentication Verification:

On each request, the back-end checks the validity of the session ID stored in the cookie to determine the authenticated user. This process ensures that only authenticated users can access protected resources and perform authorized actions within the application.

Cookie-Based Authentication vs. Token-Based Authentication:

While cookie-based authentication is widely used, some Laravel developers prefer token-based authentication for certain use cases. Token-based authentication involves issuing a token (usually a JSON Web Token or JWT) to the client upon successful login, which is then sent with each request for authentication purposes. However, token-based authentication is a topic that deserves its own dedicated article.

Conclusion:

In summary, cookie-based authentication is a mechanism that allows the back-end to store and identify user sessions using cookies. Laravel Sanctum leverages this approach to provide a secure and efficient authentication system. Understanding the fundamentals of cookie-based authentication is essential for developers working with Laravel Sanctum or any other web application framework that utilizes this method.

Have a great day!
            
                if ($this->article->readBy(Auth::user())) {
                    return Redirect::to('home');
                }