Berry React
v4.1.0
v4.1.0
  • Introduction
  • Package
  • Getting Started
    • Pre-requisites
    • Quick Start
    • Mock backend
    • Deployment
    • Licensing
  • Setup
    • Seed
    • To Existing Project
  • Folder Structure
  • State Management
  • Multi Language
  • Authentication
    • Firebase
    • Auth0
    • AWS Cognito
    • Supabase
  • API Calls
  • Routing
    • New Menu
    • Login as First Page
    • Skip Login
    • Render Menu from the backend
    • Remove menu render via backend
  • Theme
    • Configuration
    • Presets
    • Style
      • Color
      • Typography
      • Overrides
      • Shadows
    • Layouts
    • Logo
  • How to
    • Remove eslint
    • Remove prettier
  • Components
    • Avatar
    • AnimateButton
    • Accordion
    • Breadcrumbs
    • Chip
    • ImageList
    • MainCard
    • Transitions
    • SubCard
  • Dependencies
  • Support
    • Roadmap
    • Changelog
    • FAQ
  • Berry Eco System
Powered by GitBook
On this page

Was this helpful?

  1. Routing

Skip Login

Disable Authentication Temporary

Disabling authentication temporarily is generally not recommended due to security risks. However, if you have a specific scenario where you need to disable authentication for a short period, here are some steps you can follow:

  1. Comment out the AuthGuard wrapper for the routes within the below file: src/routes/MainRoutes.tsx

src/routes/MainRoutes.tsx
// import AuthGuard from 'utils/route-guard/AuthGuard';

...
...
const MainRoutes = {
    path: '/',
    element: (
        // <AuthGuard>
        <MainLayout />
        // </AuthGuard>
    ),
    ...
}

In the code snippet above, the <AuthGuard> a component is commented out, allowing the routes within the MainLayout component to be rendered without authentication protection. To enable the AuthGuard wrapper again, remove the comment markers (//) surrounding the <AuthGuard> component.


Remove Authentication Permanent

If you want to permanently remove authentication from a system or application, here are the steps to follow:

  1. Remove below authentication keys from .env file.

.env
...
...
## Firebase - Google Auth 
VITE_APP_FIREBASE_API_KEY=
VITE_APP_FIREBASE_AUTH_DOMAIN=
VITE_APP_FIREBASE_PROJECT_ID=
VITE_APP_FIREBASE_STORAGE_BUCKET=
VITE_APP_FIREBASE_MESSAGING_SENDER_ID=
VITE_APP_FIREBASE_APP_ID=
VITE_APP_FIREBASE_MEASUREMENT_ID=

## AWS
VITE_APP_AWS_POOL_ID=
VITE_APP_AWS_APP_CLIENT_ID=

## Auth0
VITE_APP_AUTH0_CLIENT_ID=
VITE_APP_AUTH0_DOMAIN=
...
...
  1. Removed below list of files and directory.

..
├── src
│   ├── ui-component\cards               
│   │   ├── AuthFooter.tsx
│   ├── context
│   │   ├── Auth0Context.tsx
│   │   ├── AWSCognitoContext.tsx
│   │   ├── FirebaseContext.tsx
│   │   ├── JWTContext.tsx
│   ├── hooks
│   │   ├── useAuth.ts
│   ├── views
│   │   ├── pages
│   │   │   ├── authentication (remove directory with all sub files)
│   ├── routes
│   │   ├── LoginRoutes.tsx
│   │   ├── AuthenticationRoutes.tsx
│   ├── types
│   │    ├── auth.ts
│   ├── utils
│   │   ├── route-guard (remove directory with all sub files)
...

Remove LoginRoutes and AuthenticationRoutes- Open file src/routes/index.tsx, and remove LoginRoutes, AuthenticationRoutes import.

src/routes/index.tsx
import { lazy } from 'react';
import { createBrowserRouter } from 'react-router-dom';

// routes
import MainRoutes from './MainRoutes';
import SimpleRoutes from './SimpleRoutes';

// project imports
import Loadable from 'ui-component/Loadable';

const PagesLanding = Loadable(lazy(() => import('views/pages/landing')));

// ==============================|| ROUTING RENDER ||============================== //

const router = createBrowserRouter(
  [{ path: '/', element: <PagesLanding /> }, SimpleRoutes, MainRoutes],
  {
    basename: import.meta.env.VITE_APP_BASE_NAME
  }
);

export default router;
  1. Remove or change /login routes.

    1. If you want to remove routes - remove router component RouterLink or Link with to='' props.

    2. If you want to change url - set the home page URL like, to={DASHBOARD_PATH} , And import DASHBOARD_PATH from config file.

  2. Remove useAuth hook - Remove the below imports from throughout the project and set static values for user profile props.

import useAuth from 'hooks/useAuth';
  1. Remove axios interceptors response from ./src/utils/axios.ts file. So the final version should be look like below:

utils/axios.ts
import axios from 'axios';

const axiosServices = axios.create({ baseURL: import.meta.env.VITE_APP_API_URL || 'http://localhost:3010/' });

export default axiosServices;

// ==============================|| AXIOS - FOR MOCK SERVICES ||============================== //

export const fetcher = async (args: string | [string, AxiosRequestConfig]) => {
    const [url, config] = Array.isArray(args) ? args : [args];

    const res = await axiosServices.get(url, { ...config });

    return res.data;
};
  1. Remove import of JWTProvider from ./src/App.tsx

  2. Remove import and usage of AuthGuard from ./src/routes/MainRoutes.tsx

Disabling authentication within the system would render certain applications non-functional, particularly those reliant on backend APIs. These applications require a valid token to access and load data seamlessly.

Disable Authentication Temporary

Disabling authentication temporarily is generally not recommended due to security risks. However, if you have a specific scenario where you need to disable authentication for a short period, here are some steps you can follow:

  1. Comment out the AuthGuard wrapper for the routes within the below file: src/routes/MainRoutes.jsx

src/routes/MainRoutes.jsx
// import AuthGuard from 'utils/route-guard/AuthGuard';

...
...
const MainRoutes = {
    path: '/',
    element: (
        // <AuthGuard>
        <MainLayout />
        // </AuthGuard>
    ),
    ...
}

In the code snippet above, the <AuthGuard> a component is commented out, allowing the routes within the MainLayout component to be rendered without authentication protection. To enable the AuthGuard wrapper again, remove the comment markers (//) surrounding the <AuthGuard> component.


Remove Authentication Permanent

If you want to permanently remove authentication from a system or application, here are the steps to follow:

  1. Remove below authentication keys from .env file.

.env
...
...
## Firebase - Google Auth 
VITE_APP_FIREBASE_API_KEY=
VITE_APP_FIREBASE_AUTH_DOMAIN=
VITE_APP_FIREBASE_PROJECT_ID=
VITE_APP_FIREBASE_STORAGE_BUCKET=
VITE_APP_FIREBASE_MESSAGING_SENDER_ID=
VITE_APP_FIREBASE_APP_ID=
VITE_APP_FIREBASE_MEASUREMENT_ID=

## AWS
VITE_APP_AWS_POOL_ID=
VITE_APP_AWS_APP_CLIENT_ID=

## Auth0
VITE_APP_AUTH0_CLIENT_ID=
VITE_APP_AUTH0_DOMAIN=
...
...
  1. Removed below list of files and directory.

..
├── src
│   ├── ui-component\cards               
│   │   ├── AuthFooter.tsx
│   ├── context
│   │   ├── Auth0Context.tsx
│   │   ├── AWSCognitoContext.tsx
│   │   ├── FirebaseContext.tsx
│   │   ├── JWTContext.tsx
│   ├── hooks
│   │   ├── useAuth.ts
│   ├── views
│   │   ├── pages
│   │   │   ├── authentication (remove directory with all sub files)
│   ├── routes
│   │   ├── LoginRoutes.tsx
│   │   ├── AuthenticationRoutes.tsx
│   ├── types
│   │    ├── auth.ts
│   ├── utils
│   │   ├── route-guard (remove directory with all sub files)
...

Remove LoginRoutes and AuthenticationRoutes- Open file src/routes/index.jsx, and remove LoginRoutes, AuthenticationRoutes import.

src/routes/index.jsx
import { lazy } from 'react';
import { createBrowserRouter } from 'react-router-dom';

// routes
import MainRoutes from './MainRoutes';
import SimpleRoutes from './SimpleRoutes';

// project imports
import Loadable from 'ui-component/Loadable';

const PagesLanding = Loadable(lazy(() => import('views/pages/landing')));

// ==============================|| ROUTING RENDER ||============================== //

const router = createBrowserRouter(
  [{ path: '/', element: <PagesLanding /> }, SimpleRoutes, MainRoutes],
  {
    basename: import.meta.env.VITE_APP_BASE_NAME
  }
);

export default router;
  1. Remove or change /login routes.

    1. If you want to remove routes - remove the router component RouterLink or Link with to='' props.

    2. If you want to change url - set the home page URL as, andto={DASHBOARD_PATH} import DASHBOARD_PATH from config file.

  2. Remove useAuth hook - Remove the below imports from throughout the project and set static values for user profile props.

import useAuth from 'hooks/useAuth';
  1. Remove Axios interceptors response from ./src/utils/axios.ts file. So the final version should look like the below:

utils/axios.js
import axios from 'axios';

const axiosServices = axios.create({ baseURL: import.meta.env.VITE_APP_API_URL || 'http://localhost:3010/' });

export default axiosServices;

// ==============================|| AXIOS - FOR MOCK SERVICES ||============================== //

export const fetcher = async (args: string | [string, AxiosRequestConfig]) => {
    const [url, config] = Array.isArray(args) ? args : [args];

    const res = await axiosServices.get(url, { ...config });

    return res.data;
};
  1. Remove import of JWTProvider from ./src/App.jsx

  2. Remove import and usage of AuthGuard from ./src/routes/MainRoutes.jsx

Disabling authentication within the system would render certain applications non-functional, particularly those reliant on backend APIs. These applications require a valid token to access and load data seamlessly.

Disable Authentication Temporary

Disabling authentication temporarily is generally not recommended due to security risks. However, if you have a specific scenario where you need to disable authentication for a short period, here are some steps you can follow:

  1. Comment out the AuthGuard wrapper for the routes within the DashboardLayout element:

src/app/(dashboard)/layout.tsx
// project imports
import DashboardLayout from 'layout/MainLayout';
// import AuthGuard from 'utils/route-guard/AuthGuard';

// ==============================|| DASHBOARD LAYOUT ||============================== //

export default function Layout({ children }: { children: React.ReactNode }) {
  return (
    //<AuthGuard>
      <DashboardLayout>{children}</DashboardLayout>
   // </AuthGuard>
  );
}

In the code snippet above, the <AuthGuard> a component is commented out, allowing the routes within the MainLayout component to be rendered without authentication protection. To enable the AuthGuard wrapper again, remove the comment markers (//) surrounding the <AuthGuard> component.


Remove Authentication Permanent

If you want to permanently remove authentication from a system or application, here are the steps to follow:

  1. Remove below authentication keys from .env file.

.env
...
...
## Firebase - Google Auth 
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=

## AWS
NEXT_PUBLIC_AWS_POOL_ID=
NEXT_PUBLIC_AWS_APP_CLIENT_ID=

## Auth0
NEXT_PUBLIC_AUTH0_CLIENT_ID=
NEXT_PUBLIC_AUTH0_DOMAIN=

## SupaBase
SUPABASE_URL=
SUPABASE_ANON_KEY=
...
...
  1. Removed below list of files and directory.

..
├── src
│   ├── app
│   │   ├── (minimal)
│   │   │   ├── (auth) (remove directory with all sub files)
│   │   │   ├── pages
│   │   │   │   ├── Login (remove directory with all sub files)
│   │   │   │   ├── Register (remove directory with all sub files)
│   │   │   │   ├── reset-password (remove a directory with all sub files)
│   │   │   │   ├── forgot-password (remove a directory with all sub files)
│   │   │   │   ├── code-verification (remove a directory with all sub files)
│   │   │   │   ├── check-mail (remove a directory with all sub files)
│   ├── context
│   │   ├── Auth0Context.tsx
│   │   ├── AWSCognitoContext.tsx
│   │   ├── FirebaseContext.tsx
│   │   ├── JWTContext.tsx
│   │   ├── SupabaseContext.tsx
│   ├── hooks
│   │   ├── useAuth.ts
│   ├── types
│   │   ├── auth.ts
│   ├── ui-components
│   │   ├── cards               
│   │   │   ├── AuthFooter.tsx
│   ├── utils
│   │   ├── route-guard (remove a directory with all sub files)
│   ├── views
│   │   ├── pages 
│   │   │   ├── authentication (remove directory with all sub files)
  1. Remove useAuth hook - Remove the below imports from throughout the project and set static values for user profile props.

import useAuth from 'hooks/useAuth';
  1. Remove import of JWTProvider from ./src/store/ProviderWrapper.tsx

  2. Remove import and usage of AuthGuard from ./src/app/(dashboard)/layout.tsx

Disabling authentication within the system would render certain applications non-functional, particularly those reliant on backend APIs. These applications require a valid token to access and load data seamlessly.

Disable Authentication Temporary

Disabling authentication temporarily is generally not recommended due to security risks. However, if you have a specific scenario where you need to disable authentication for a short period, here are some steps you can follow:

  1. Comment out the AuthGuard wrapper for the routes within the DashboardLayout element:

src/app/(dashboard)/layout.jsx
// project imports
import DashboardLayout from 'layout/MainLayout';
// import AuthGuard from 'utils/route-guard/AuthGuard';

// ==============================|| DASHBOARD LAYOUT ||============================== //

export default function Layout({ children }: { children: React.ReactNode }) {
  return (
    //<AuthGuard>
      <DashboardLayout>{children}</DashboardLayout>
   // </AuthGuard>
  );
}

In the code snippet above, the <AuthGuard> a component is commented out, allowing the routes within the MainLayout component to be rendered without authentication protection. To enable the AuthGuard wrapper again, remove the comment markers (//) surrounding the <AuthGuard> component.


Remove Authentication Permanent

If you want to permanently remove authentication from a system or application, here are the steps to follow:

  1. Remove below authentication keys from .env file.

.env
...
...
## Firebase - Google Auth 
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=

## AWS
NEXT_PUBLIC_AWS_POOL_ID=
NEXT_PUBLIC_AWS_APP_CLIENT_ID=

## Auth0
NEXT_PUBLIC_AUTH0_CLIENT_ID=
NEXT_PUBLIC_AUTH0_DOMAIN=

## SupaBase
SUPABASE_URL=
SUPABASE_ANON_KEY=
...
...
  1. Removed below list of files and directory.

..
├── src
│   ├── app
│   │   ├── (minimal)
│   │   │   ├── (auth) (remove directory with all sub files)
│   │   │   ├── pages
│   │   │   │   ├── Login (remove directory with all sub files)
│   │   │   │   ├── Register (remove directory with all sub files)
│   │   │   │   ├── reset-password (remove a directory with all sub files)
│   │   │   │   ├── forgot-password (remove a directory with all sub files)
│   │   │   │   ├── code-verification (remove a directory with all sub files)
│   │   │   │   ├── check-mail (remove a directory with all sub files)
│   ├── context
│   │   ├── Auth0Context.jsx
│   │   ├── AWSCognitoContext.jsx
│   │   ├── FirebaseContext.jsx
│   │   ├── JWTContext.jsx
│   │   ├── SupabaseContext.jsx
│   ├── hooks
│   │   ├── useAuth.js
│   ├── ui-components
│   │   ├── cards               
│   │   │   ├── AuthFooter.jsx
│   ├── utils
│   │   ├── route-guard (remove a directory with all sub files)
│   ├── views
│   │   ├── pages 
│   │   │   ├── authentication (remove directory with all sub files)
  1. Remove useAuth hook - Remove the below imports from throughout the project and set static values for user profile props.

import useAuth from 'hooks/useAuth';
  1. Remove import of JWTProvider from ./src/store/ProviderWrapper.tsx

  2. Remove import and usage of AuthGuard from ./src/app/(dashboard)/layout.tsx

Disabling authentication within the system would render certain applications non-functional, particularly those reliant on backend APIs. These applications require a valid token to access and load data seamlessly.

Last updated 11 days ago

Was this helpful?