Service responsible for managing users and login.
-
This is a closed community. You require an admin to create an account for you
-
This is the only entry-point into the microservice network via the
/login
routes. Everything else is hidden behind the authentication. -
There are three different Global-Roles:
-
Admin: Every permission on everything including invites
-
Support: Soft-Permissions: adding a user to any project
-
User: Create project
-
-
We have three default users:
-
username: Peter_Zwegat, password: password, role: ADMIN
-
username: Kim-Jong-Dos, password: password, role: SUPPORT
-
username: Kim-Jong-On, password: password, role: USER
-
The user service is based on the Spring Framework with Webflux and Netty as its HTTP-server stack and ActiveMQ connections as message broker. The service is connected to dedicated PostgreSQL database, where data is persisted.
The API is documented as OpenAPI Specification
To test the API please use the Postman collection.
The service sends events when:
-
microservices.dataEvents:
-
User: Created, Updated or deleted
-
-
microservices.domainEvents:
Extended events with additional information when:-
The user changed its username
-
The user changed its lastname
-
The user changed its name
-
The user changed its email
-
The user changed its date of birth (lol)
-
The Global Role of a user got changed
-
The user service is not listening to any ActiveMQ topic.
The login to the system is realized via HTTP-Basic auth to /login. After that a JWT is issued which contains all relevant information about the user. The JWT is valid for a limited period of time. A reissue mechanism or a blacklist is not (yet) implemented.
Please refer to the README of the Orga-Repository for more information. This service uses the service-lib as a dependency.