@auth-kit/react-router
TypeScript icon, indicating that this package has built-in type declarations

3.1.3 • Public • Published

@auth-kit/react-router

Test Suites Test Suites

🔑 This library is a part of the `react-auth-kit` ecosystem. 🔑

This library contains useful functions to manage private routes using react-router* or react-router-dom.

Usage

AuthOutlet

AuthOutlet provides an easy solution using react-router or react-router-dom to manage private-route.

Routes inside the AuthOutlet will stay protected and only properly authenticated users can access the route.

If the user is not authenticated then the user will be redirected to the fallbackPath.

Example

import AuthOutlet from '@auth-kit/react-router/AuthOutlet';

function App() {
 return (
   <Router>
     <Routes>
       <Route element={<AuthOutlet fallbackPath='/login' />}>
         <Route path='/' element={<Users/>} />
         <Route path='/products' element={<Products/>} />
       </Route>
       <Route path='/login' element={<Login/>}/>
     </Routes>
   </Router>
 );
}

RequireAuth

RequireAuth provides a per route base private route solution to implement a private route solution.

Component inside the RequireAuth will stay protected and only properly authenticated users can access the route.

If the user is not authenticated then the user will be redirected to the fallbackPath.

Example

import RequireAuth from '@auth-kit/react-router/RequireAuth';

const RoutesComponent = () => {
 return (
   <BrowserRouter>
     <Routes>
       <Route path={'/'} element={<Home/>}/>
       <Route path={'/login' } element={<Login/>}/>
       <Route path={'/secure'} element={
         <RequireAuth fallbackPath={'/login'}>
           <SecureComponent/>
         </RequireAuth>
       }/>
     </Routes>
   </BrowserRouter>
 )
}

Reference

Reference


— 🔑 —

React Auth Kit is MIT License code

Dependencies (1)

Dev Dependencies (5)

Package Sidebar

Install

npm i @auth-kit/react-router

Weekly Downloads

1,206

Version

3.1.3

License

MIT

Unpacked Size

13.1 kB

Total Files

10

Last publish

Collaborators

  • darkmatter18