---
url: "https://vueda.dev/v3/reference/api/js/router/guards.md"
title: "router/guards"
---

# router/guards

## Overview

Vue Router navigation guards for enforcing authentication, group membership, and model info availability.

## Methods

- [requireAuth](/v3/reference/api/js/router/guards/functions/requireAuth.md) - Require the user to be authenticated.
- [requireCurrentUser](/v3/reference/api/js/router/guards/functions/requireCurrentUser.md) - Require a successful answer to the current-user request, so the route can show or use the user object without requiring authentication.
- [requireGroups](/v3/reference/api/js/router/guards/functions/requireGroups.md) - Require the user to have certain groups, or show a toast message for denial.
- [requireModelInfo](/v3/reference/api/js/router/guards/functions/requireModelInfo.md) - Require model info to be loaded before accessing the route.
- [requireRecentAuth](/v3/reference/api/js/router/guards/functions/requireRecentAuth.md) - Require the user to be recently authenticated: signed in with no `storeUser.authPendingFlow`.
- [requireUnauth](/v3/reference/api/js/router/guards/functions/requireUnauth.md) - Require the user to be unauthenticated, like for a login page.
- [waitForCurrentUser](/v3/reference/api/js/router/guards/functions/waitForCurrentUser.md) - Wait until the store holds a successful answer to the current-user request.
- [waitForModelStoreLoad](/v3/reference/api/js/router/guards/functions/waitForModelStoreLoad.md) - Wait for store model config to load

## Source

`client/lib/router/guards.js:1`
