diff --git a/Tsi1.Api/Dockerfile b/Tsi1.Api/Dockerfile index 63e9ca89caa1cb56c4311a8ea3b1381f1faf050a..add26c0df433dc0d6248384d330cacfc0574e539 100644 --- a/Tsi1.Api/Dockerfile +++ b/Tsi1.Api/Dockerfile @@ -1,7 +1,6 @@ # https://hub.docker.com/_/microsoft-dotnet-core FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build WORKDIR /app -EXPOSE 5000 # copy csproj and restore as distinct layers WORKDIR /src @@ -20,4 +19,5 @@ RUN dotnet publish -c release -o /app/publish FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 WORKDIR /app COPY --from=build /app/publish . +EXPOSE 5000 ENTRYPOINT ["dotnet", "Tsi1.Api.dll"] \ No newline at end of file diff --git a/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs b/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs index bc4b6fa4028264d7031c91412de327d2f4f1c4d3..baf9426f46af9bdbe6eac3097ff236335403fffe 100644 --- a/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs +++ b/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs @@ -55,6 +55,7 @@ namespace Tsi1.Api.Controllers return Ok(new LoginResult { + Id = user.Id, UserName = user.Username, Role = user.UserType.Name, AccessToken = jwtResult.AccessToken, @@ -69,6 +70,7 @@ namespace Tsi1.Api.Controllers try { var username = HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Username").Value; + var id = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { @@ -80,6 +82,7 @@ namespace Tsi1.Api.Controllers return Ok(new LoginResult { + Id = id, UserName = username, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, diff --git a/Tsi1.Api/Tsi1.Api/Models/LoginResult.cs b/Tsi1.Api/Tsi1.Api/Models/LoginResult.cs index eb78ddbbe7e3582e706f94e9d63d8a75511affdc..8fc589af3cbb7f92aaf0e147e35d7d74ebcbdd1e 100644 --- a/Tsi1.Api/Tsi1.Api/Models/LoginResult.cs +++ b/Tsi1.Api/Tsi1.Api/Models/LoginResult.cs @@ -8,6 +8,9 @@ namespace Tsi1.Api.Models { public class LoginResult { + [JsonPropertyName("id")] + public int Id { get; set; } + [JsonPropertyName("username")] public string UserName { get; set; } diff --git a/Tsi1.Api/Tsi1.Api/Startup.cs b/Tsi1.Api/Tsi1.Api/Startup.cs index 6d81c782a6874fe01d7d13bd1692e974f6e06fcc..178ffe222fb38c8c9782e043d565acfdbcef60f9 100644 --- a/Tsi1.Api/Tsi1.Api/Startup.cs +++ b/Tsi1.Api/Tsi1.Api/Startup.cs @@ -134,16 +134,28 @@ namespace Tsi1.Api if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); + app.UseSwagger(); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1/swagger.json", "Tsi1 api V1"); + c.DocumentTitle = "Tsi1 api"; + }); } - - // app.UseHttpsRedirection(); - - app.UseSwagger(); - app.UseSwaggerUI(c => + else { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "Tsi1 api V1"); - c.DocumentTitle = "Tsi1 api"; - }); + app.UseSwagger(c => + { + c.PreSerializeFilters.Add((swagger, httpReq) => + { + swagger.Servers = new List<OpenApiServer> { new OpenApiServer { Url = $"{httpReq.Scheme}://localhost/back" } }; + }); + }); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("http://localhost/back/swagger/v1/swagger.json", "Tsi1 api V1"); + c.DocumentTitle = "Tsi1 api"; + }); + } app.UseRouting();