Auth Service - Orden-der-letzten-Haltestelle/WebEngineering GitHub Wiki

Content

Login

Dieser Endpunkt ermöglicht es, dass sich ein Nutzer einloggen kann.

Endpoint

POST /api/auth/login

Request

{
    "email": "[email protected]",
    "password": "admin"
}

Response

200

Returns user Information and the jwt Token

{
    "user": {
        "id": 1,
        "name": "admin",
        "email": "[email protected]",
        "roles": [
            "user",
            "admin"
        ]
    },
    "jwt": {
        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzYsInJvbGVzIjpbInVzZXIiXSwiaWF0IjoxNzQ5MzI5MzYxLCJleHAiOjE3NDkzMzI5NjF9.Q1aUFut-JWnfkXuB6U2LlOT8Oc211bO4D6YDVJpWue4",
        "epiresAt": 1749332961640
    }
}

401

  • Invalid email or password

404

  • User with given email doesn't exist

500

  • Server Error
  • Database not reachable

Register

Dieser endpunkt erstellt einen neuen Nutzer

Endpoint

POST /api/auth/register

Request

{
    "username": "admin",
    "email": "[email protected]",
    "password": "admin"
}

Responses

201

User was Created Successfully, you will get back the user and the session token.

{
    "user": {
        "id": 1,
        "name": "admin",
        "email": "[email protected]",
        "roles": [
            "user"
        ]
    },
    "jwt": {
        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzYsInJvbGVzIjpbInVzZXIiXSwiaWF0IjoxNzQ5MzI5MzYxLCJleHAiOjE3NDkzMzI5NjF9.Q1aUFut-JWnfkXuB6U2LlOT8Oc211bO4D6YDVJpWue4",
        "epiresAt": 1749332961640
    }
}

400

  • Given Email isn't correct
  • Given Email is already taken
  • Password doesn't fit requirements

500

  • Server error
  • Database wasn't reachable

Get Auth User

Dieser endpunkt gibt eine AuthUser zurück

Endpoint

GET /api/auth

Responses

200

{
  "authUser": {
    "id": 2,
    "name": "admin",
    "email": "[email protected]",
    "createdAt": "2025-07-06T09:37:19.692Z",
    "isVerified": true,
    "isBanned": false,
    "roles": [
      "user",
      "admin"
    ]
  }
}

500

  • Server error
  • Database wasn't reachable