User

Front-end user management.


Account Component

The account component provides a method to update the logged in user profile, verify email address, enable two-factor authentication, clear browser sessions and delete their account.

title = "Account"
url = "/account/:code?"

[account]
isDefault = 1
==
...

For displaying and clearing other browser sessions for the user, the session driver must be set to database. Open the config/session.php file and change the driver, this can also be set in the .env file with the SESSION_DRIVER variable.

'driver' => env('SESSION_DRIVER', 'database'),

API

These AJAX handlers are available.

Handler Description
onUpdateProfile Updates the user profile
onVerifyEmail Verifies the user email address
onEnableTwoFactor Enables two-factor authentication
onConfirmTwoFactor Confirms two-factor authentication using a valid code
onShowTwoFactorRecoveryCodes Displays the two-factor recovery codes
onRegenerateTwoFactorRecoveryCodes Deletes and recreates the recovery codes
onDisableTwoFactor Disables two-factor authentication
onDeleteOtherSessions Logs out other user sessions
onDeleteUser Deletes the user account

These variables are available on the component object.

Variable Description
user returns the logged in user
sessions returns browser sessions for the user
twoFactorEnabled returns true if the user has two factor enabled
twoFactorRecoveryCodes returns an array of recovery codes, if available

Examples

The following example shows how to update the user profile using the onUpdateProfile handler.

<form
    method="post"
    class="account-editor"
    data-request="onUpdateProfile"
    data-request-flash>

    <input
        name="first_name"
        type="text"
        value="{{ user.first_name }}"
        class="form-control"
        placeholder="First name"
    />

    <input
        name="last_name"
        type="text"
        value="{{ user.last_name }}"
        class="form-control"
        placeholder="Last name"
    />

    <button
        class="btn btn-primary"
        data-attach-loading
        type="submit">
        Save
    </button>
</form>