Authentication
How it works
MatX uses AuthGuard
component to protect auth protected routes. In App.jsx
entire application is wrapped
by AuthProvider
Here AuthProvider
is imported from FirebaseAuthContext
.
You will find other authProviders for JWT
& Auth0
in src/app/contexts/
folder.
As we have wrapped our application by AuthProvider
,
we can access authenticated user anywhere using useAuth
custom hook from src/app/hooks/useAuth.js
How to switch between authentication methods
MatX has multiple authentication method such as Firebase, Auth0 & JWT. By defalut Firebase is being used. But you can switch to another method.
1. Open App.jsx
and update the import path of AuthProvider
.
By default we're using Firbase
. If you want to use JWT
method then your import should be like this
2. Open src/app/hooks/useAuth.js
and update the import path of
AuthContext
. By default we are using FirebaseAuthContext
.
For JWT
method, your import should be like this
3. Update session/signin
& session/signup
in views/sessions/SessionRoutes.js
For example, if you use JWT method use JwtLogin.jsx
& JwtRegister.jsx
4. Update firebaseConfig
/auth0Config
in src/config.js