This part of the exercise is responsible for the users authentication.
POST /login- takes a JSON and returns an access token
The JSON structure is:
{
"username": "admin",
"password": "admin",
}The service scans environment for variables:
AUTH_API_PORT- the port the service takes.USERS_API_ADDRESS- base URL of Users API.JWT_SECRET- secret value for JWT token processing. Must be the same amongst all components.
Following users are hardcoded for you:
| Username | Password |
|---|---|
| admin | admin |
| johnd | foo |
| janed | ddd |
- export GO111MODULE=on
- go mod init github.com/bortizf/microservice-app-example/tree/master/auth-api
- go mod tidy
- go build
JWT_SECRET=PRFT AUTH_API_PORT=8000 USERS_API_ADDRESS=http://127.0.0.1:8083 ./auth-api
In case you need to test this API, you can use it as follows:
curl -X POST http://127.0.0.1:8000/login -d '{"username": "admin","password": "admin"}'
Here you can find the software required to run this microservice, as well as the version we have tested.
| Dependency | Version |
|---|---|
| Go | 1.18.2 |