Authorization through swagger works
This commit is contained in:
parent
422952f276
commit
7603f00bd5
@ -47,6 +47,7 @@ namespace API.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/Users
|
// GET: api/Users
|
||||||
|
[Authorize]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult<List<UserDTO>>> GetUsers()
|
public async Task<ActionResult<List<UserDTO>>> GetUsers()
|
||||||
{
|
{
|
||||||
@ -54,6 +55,7 @@ namespace API.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/Users/5
|
// GET: api/Users/5
|
||||||
|
[Authorize]
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<UserDTO>> GetUser(string id)
|
public async Task<ActionResult<UserDTO>> GetUser(string id)
|
||||||
{
|
{
|
||||||
@ -63,6 +65,7 @@ namespace API.Controllers
|
|||||||
|
|
||||||
// PUT: api/Users/5
|
// PUT: api/Users/5
|
||||||
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
|
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
|
||||||
|
[Authorize]
|
||||||
[HttpPut("{id}")]
|
[HttpPut("{id}")]
|
||||||
public async Task<IActionResult> PutUser(UserDTO userDTO)
|
public async Task<IActionResult> PutUser(UserDTO userDTO)
|
||||||
{
|
{
|
||||||
@ -79,6 +82,7 @@ namespace API.Controllers
|
|||||||
|
|
||||||
|
|
||||||
// DELETE: api/Users/5
|
// DELETE: api/Users/5
|
||||||
|
[Authorize]
|
||||||
[HttpDelete("{id}")]
|
[HttpDelete("{id}")]
|
||||||
public async Task<IActionResult> DeleteUser(string id)
|
public async Task<IActionResult> DeleteUser(string id)
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,7 @@ using API.Persistence.Repositories;
|
|||||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
|
using Microsoft.OpenApi.Models;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace API
|
namespace API
|
||||||
@ -65,6 +66,37 @@ namespace API
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Swagger does not by default allow to use Bearer tokens
|
||||||
|
// The method AddSwaggerGen with the following options grants access to address a Bearer token -
|
||||||
|
// Simply by clicking the Lock icon and pasting the Bearer Token
|
||||||
|
builder.Services.AddSwaggerGen(c =>
|
||||||
|
{
|
||||||
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Your API", Version = "v1" });
|
||||||
|
|
||||||
|
// Configure Swagger to use Bearer token authentication
|
||||||
|
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
|
||||||
|
{
|
||||||
|
Description = "JWT Authorization header using the Bearer scheme",
|
||||||
|
Type = SecuritySchemeType.Http,
|
||||||
|
Scheme = "bearer"
|
||||||
|
});
|
||||||
|
|
||||||
|
c.AddSecurityRequirement(new OpenApiSecurityRequirement
|
||||||
|
{
|
||||||
|
{
|
||||||
|
new OpenApiSecurityScheme
|
||||||
|
{
|
||||||
|
Reference = new OpenApiReference
|
||||||
|
{
|
||||||
|
Type = ReferenceType.SecurityScheme,
|
||||||
|
Id = "Bearer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new string[] { }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
var connectionString = Configuration.GetConnectionString("DefaultConnection") ?? Environment.GetEnvironmentVariable("DEFAULT_CONNECTION");
|
var connectionString = Configuration.GetConnectionString("DefaultConnection") ?? Environment.GetEnvironmentVariable("DEFAULT_CONNECTION");
|
||||||
builder.Services.AddDbContext<AppDBContext>(options => options.UseSqlite(connectionString));
|
builder.Services.AddDbContext<AppDBContext>(options => options.UseSqlite(connectionString));
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
# Copy the config files
|
|
||||||
ADD ./conf/ /etc/nginx/
|
|
||||||
# Clears the static files
|
|
||||||
RUN rm -rf /usr/share/nginx/html
|
|
||||||
# Copy the static web content
|
|
||||||
ADD . /usr/share/nginx/html
|
|
||||||
|
|
||||||
# Suggests to bind port 80 to any port of the host system
|
|
||||||
EXPOSE 80
|
|
@ -1,13 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
|
|
||||||
# Enables Gzip compression for efficiency
|
|
||||||
gzip on;
|
|
||||||
gzip_types text/plain text/javascript text/css application/json;
|
|
||||||
|
|
||||||
# Handles routing for static files and serves index.html as a fallback
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.html;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
events {}
|
|
||||||
|
|
||||||
http {
|
|
||||||
include /etc/nginx/app.conf;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user