The company currently has about 500 employees and is considering implementing some management systems.
Already online is HRMS (which stores basic employee information and also involves some basic personnel processes). It is developed based on Laravel5.2. When it was originally designed, I did not expect so many, so it is tightly coupled between the front and back ends. .
Now I want to use this as the basis for all systems. In other words, if any other system requires authentication, it will retrieve user information from HRMS.
Target:
Rewrite HRMS with Lumen, only provide API
All systems realize front-end and back-end separation
We will use Electron API to make some desktop applications in the future
All projects achieve Docker-based sustainable integration
The systems that will be launched later are:
MRBS: Meeting Room Reservation Management System
SCRM: Customer relationship management system based on social platform
BPM: Workflow Approval
TMS: Internal Training Management System
AMS: Fixed Asset Management System
At this stage, the Dockerization of services has been implemented. The back-end framework has decided to use Lumen. The front-end is still under consideration. If the front-end and back-end are completely separated, what are the pros and cons of using OAuth2.0 and JWT?
Laxative;
My suggestion is to still use laravel;
If it is for the interface;then 5.2 can use the dingo package https://github.com/dingo/api;
instead of using lumen to refactor;
lumen and laravel are Brothers;
But; lumen has been stripped of many functions; and its resources are much less than laravel;
Even upgrading laravel5.2 to 5.3 is more reasonable than refactoring with lumen;
5.3 already has native support for the development of API interfaces;
And this is obviously also the development trend of subsequent laravel upgrades;
As for OAuth2.0 or JWT;
There is no comparison between the two;
JWT is a protocol; OAuth2.0 is an authorization framework;
OAuth2.0 is more standardized, widely used, and more scalable;
If you have enough time, spend more time learning to use OAuth2.0;