# User Authentication
WARNING
This section only applies to Blessing Skin v4 or higher
# Overview
Blessing Skin v4 uses Laravel's built-in authentication system, so
getting current user's information is easy. Laravel's authentication
system provides a set of methods that you can either call through the
Auth facade or use the auth helper function. The demos below all use
the auth helper function, but in practice, both the Auth Facade and
the auth helper function are the same.
# Check if the user is logged in
In general, you should use the auth middleware if you want to make a
request only accessible when the user is logged in. However, in some
scenarios, you may need to manually check whether the user is logged in
in the controller or elsewhere, then you can use the check method,
which returns a value of type bool, indicating whether the user is
logged in.
if (auth()->check()) {
// user is logged in
}
# Get the model instance of the current user
You probably need to get a model instance of the currently logged in
user. You can use the user method, if the user is not logged in, it
will return null, so you don’t need to call the check method before
using the user method, you only need to judge whether the return value
of the user method is empty .
$user = auth()->user();
// $user here is an instance of App\Models\User, so methods in the User model instance can be used.
# Get the uid of the current user
You can get the uid of the current user like this:
$uid = auth()->user()->uid;
But there is actually an easier way, which is to call the id method:
$uid = auth()->id();
# Blade and Views
Laravel provides two directives for Blade, which can judge the current
authentication status without using the @if directive to judge
manually.
# @auth directive
@auth
The content here can only be seen when the user is logged in.
@endauth
# @guest directive
@guest
The content here can only be seen by users who are not logged in.
@endguest