HylibCMS - ReactJS

Initiate Mage
Joined
Jan 10, 2021
Messages
2
Reaction score
3
CMS developed using ReactJS and NodeJS as back end server and authentication with JWT (JSON Web Token). You will need to create a reverse proxy to use the backend as node js runs on port other than 80 and 443. (on localhost you don't need to, just edit the apiUrl to localhost:3333).


It is easily edited, in the configuration.json file it has practically all styles of colors and images. Find for "cmsStyles".

- CMS has multi languages, including: BR, EN-US, ES


Is it compatible with Comet Emulator.


If you liked the content, favorite it on github.

Previews:
GIF:
Demo Online:

Join the discord community to ask questions and see all new updates:


Download:



Use branch dev

I am open for suggestions and improvements. It's just the first version.
 
Last edited:
The CMS looks cool! Why JWT though? Wouldn’t oAuth or session authentication be better for security? Just curious, I know JWT is very popular.
There is little advantage to either these days. JWT is a more modern approach. The real benefit lies in storage where JWT is a form of stateless authentication, you do not need to store the session data you just send a token with the request header. Since the client can access the token it's possible to implement systems to warn the user of login expiry etc.. it's also easier to implement mobile related login such as fingerprint login (not that this is relevant to this project)

Quickly looked at the demo site, when changing language to English the login error message remains in ?portuguese

There seems to be some good security measures in the source code

JavaScript:
//add user ip in token for future security check
                                const token = generateToken({ id: player.id, ip: requestIp.getClientIp(req) })
                                return res.status(200).json({ status_code: 200, token: token, user: userArray[0] });
 
Last edited:
There is little advantage to either these days. JWT is a more modern approach. The real benefit lies in storage where JWT is a form of stateless authentication, you do not need to store the session data you just send a token with the request header. Since the client can access the token it's possible to implement systems to warn the user of login expiry etc.. it's also easier to implement mobile related login such as fingerprint login (not that this is relevant to this project)

Quickly looked at the demo site, when changing language to English the login error message remains in ?portuguese

There seems to be some good security measures in the source code

JavaScript:
//add user ip in token for future security check
                                const token = generateToken({ id: player.id, ip: requestIp.getClientIp(req) })
                                return res.status(200).json({ status_code: 200, token: token, user: userArray[0] });
I only asked because I was always under the impression JWT was more for secure/quick access to REST apis whereas in something like a cms with long term security it would make more sense to use session management but honestly I don’t know too much about it, I’ve only ever implemented JWT briefly in one of my projects, thanks for your points!
 
Back