Skip to content Skip to footer navigation

User-passkeys Tag

Loop through the authenticated user's registered passkeys.

Overview#

The user:passkeys tag loops through the user's passkeys. Useful for building a passkey management page where users can view and delete their passkeys.

Example#

{{ user:passkeys as="passkeys" }}
{{ if passkeys }}
<h3>Your Passkeys</h3>
<ul>
{{ passkeys }}
<li>
<strong>{{ name }}</strong>
{{ if last_login }}
<span>Last used: {{ last_login format="M j, Y g:i A" }}</span>
{{ else }}
<span>Never used</span>
{{ /if }}
{{ user:delete_passkey_form :id="id" }}
<button type="submit">Delete</button>
{{ /user:delete_passkey_form }}
</li>
{{ /passkeys }}
</ul>
{{ else }}
<p>You haven't set up any passkeys yet.</p>
{{ /if }}
{{ /user:passkeys }}
<s:user:passkeys as="passkeys">
@if ($passkeys)
<h3>Your Passkeys</h3>
<ul>
@foreach ($passkeys as $passkey)
<li>
<strong>{{ $passkey['name'] }}</strong>
@if ($passkey['last_login'])
<span>Last used: {{ $passkey['last_login']->format('M j, Y g:i A') }}</span>
@else
<span>Never used</span>
@endif
<s:user:delete_passkey_form :id="$passkey['id']">
<button type="submit">Delete</button>
</s:user:delete_passkey_form>
</li>
@endforeach
</ul>
@else
<p>You haven't set up any passkeys yet.</p>
@endif
</s:user:passkeys>

Aliasing#

You can use the as parameter to alias the passkeys into a variable, which allows you to use {{ if passkeys }} to check if there are any passkeys before rendering.

{{ user:passkeys as="passkeys" }}
{{ if passkeys }}
{{# Render passkeys list #}}
{{ /if }}
{{ /user:passkeys }}

Variables

Variable Type Description

id

string

The passkey identifier.

name

string

The user-defined passkey name.

last_login

Carbon

The last time the passkey was used for login, or null if never used.