Table of Contents

Class AuthController

Namespace
DataService.Server.Controllers
Assembly
DataService.Server.dll

Controller zur Authentifizierung und Token-Verwaltung. Bietet Endpunkte für Login, Logout, Token-Validierung und Token-Refresh.

[ApiController]
[Route("api/[controller]")]
public class AuthController : ControllerBase
Inheritance
AuthController
Inherited Members

Constructors

AuthController(UserService, IConfiguration, RateLimitingService, TokenDenylistService)

Controller zur Authentifizierung und Token-Verwaltung. Bietet Endpunkte für Login, Logout, Token-Validierung und Token-Refresh.

public AuthController(UserService userService, IConfiguration configuration, RateLimitingService rateLimitingService, TokenDenylistService tokenDenylistService)

Parameters

userService UserService
configuration IConfiguration
rateLimitingService RateLimitingService
tokenDenylistService TokenDenylistService

Methods

Login(LoginRequest)

Authentifiziert einen Benutzer anhand von Benutzername und Passwort. Gibt ein JWT zurück, wenn die Anmeldung erfolgreich ist.

[HttpPost("Login")]
public Task<IActionResult> Login(LoginRequest request)

Parameters

request LoginRequest

Die Login-Daten (Benutzername, Passwort, RememberMe).

Returns

Task<IActionResult>

Ein JWT-Token oder ein Fehlerstatus.

Logout()

Meldet den aktuell angemeldeten Benutzer ab und setzt das aktuelle Token auf eine Denylist.

[HttpPost("logout")]
[Authorize]
public IActionResult Logout()

Returns

IActionResult

Ein Erfolgsstatus, unabhängig vom Logout-Erfolg.

RefreshToken()

Erstellt ein neues Token, wenn das aktuelle Token bald abläuft. Das alte Token wird auf eine Denylist gesetzt.

[HttpPost("refresh")]
[Authorize]
public IActionResult RefreshToken()

Returns

IActionResult

Ein neues JWT oder ein Fehlerstatus.

ValidateToken()

Prüft, ob das aktuelle Token gültig ist.

[HttpGet("validate")]
[Authorize]
public IActionResult ValidateToken()

Returns

IActionResult

Den Benutzernamen, der im Token enthalten ist.