Skip to content

requireRecentAuth ​

Overview ​

Require the user to be recently authenticated: signed in with no storeUser.authPendingFlow. When the store has no successful answer to the current-user request yet, the guard waits for one. When the store already holds a recent session, the guard refetches the current user, so an expired session is caught here.

Signature ​

requireRecentAuth(redirectTo, to, router, pinia)

Parameters ​

NameTypeRequiredDescription
redirectTostring | RouteLocationAsRelativeGeneric | RouteLocationAsPathGenericyesWhere to redirect if not recently authenticated.
toRouteLocationNormalizedGenericyesThe target route.
routerRouteryesThe router instance.
piniaPiniayesThe Pinia instance.

Returns ​

Promise

The redirect route if needed. Rejects with the request error when the current-user request fails, which rejects the navigation.

Examples ​

js
import { requireRecentAuth } from "@vueda/router/guards";
import { createRouter } from "vue-router";

const router = createRouter({
  routes: [
    {
      path: "/:app/:model/setup",
      name: "setup-device",
      component: () => import('@/views/ViewAuthRequired.vue'),
      beforeEnter: (to, from) => requireRecentAuth({ name: "reauthenticate" }, to, router),
    },
    // other routes
  ],
});

export default router;

Source ​

client/lib/router/guards.js:164