25 lines
1.2 KiB
C#
25 lines
1.2 KiB
C#
using Distribution.Infra.Authorization;
|
|
|
|
namespace Distribution.Features.Auth;
|
|
|
|
/// <summary>
|
|
/// Own-user auth is fully delegated to AuthHex — this service only proxies the four functions
|
|
/// AuthHex exposes (loginUser/registerUser/getUserDetails/LogoutUser). No local password check or
|
|
/// token issuance happens here; AuthHex owns credentials and signs the JWT this app validates
|
|
/// (see Program.cs's JwtBearer registration + OnTokenValidated role mapping).
|
|
/// </summary>
|
|
public class AuthService(IAuthHexClient authHex)
|
|
{
|
|
public Task<AuthHexResponse> LoginAsync(LoginRequest request, CancellationToken ct = default) =>
|
|
authHex.CallAsync("loginUser", request, reference: Guid.NewGuid().ToString(), ct: ct);
|
|
|
|
public Task<AuthHexResponse> RegisterAsync(RegisterRequest request, CancellationToken ct = default) =>
|
|
authHex.CallAsync("registerUser", request, reference: Guid.NewGuid().ToString(), ct: ct);
|
|
|
|
public Task<AuthHexResponse> GetUserDetailsAsync(Guid userId, CancellationToken ct = default) =>
|
|
authHex.CallAsync("getUserDetails", new { userId }, ct: ct);
|
|
|
|
public Task<AuthHexResponse> LogoutAsync(string token, CancellationToken ct = default) =>
|
|
authHex.CallAsync("LogoutUser", new { token }, ct: ct);
|
|
}
|