Update AuthorizeCheckOperationFilter.cs
This commit is contained in:
parent
d1dd16e022
commit
ca475905d9
@ -1,37 +1,37 @@
|
|||||||
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Filters
|
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Filters
|
||||||
{
|
{
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Swashbuckle.AspNetCore.Swagger;
|
using Swashbuckle.AspNetCore.Swagger;
|
||||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace Basket.API.Infrastructure.Filters
|
namespace Basket.API.Infrastructure.Filters
|
||||||
|
{
|
||||||
|
public class AuthorizeCheckOperationFilter : IOperationFilter
|
||||||
{
|
{
|
||||||
public class AuthorizeCheckOperationFilter : IOperationFilter
|
public void Apply(Operation operation, OperationFilterContext context)
|
||||||
|
{
|
||||||
|
// Check for authorize attribute
|
||||||
|
|
||||||
|
var hasAuthorize = context.MethodInfo.DeclaringType.GetCustomAttributes(true)
|
||||||
|
.Union(context.MethodInfo.GetCustomAttributes(true))
|
||||||
|
.OfType<AuthorizeAttribute>().Any();
|
||||||
|
|
||||||
|
if (hasAuthorize)
|
||||||
{
|
{
|
||||||
public void Apply(Operation operation, OperationFilterContext context)
|
operation.Responses.Add("401", new Response { Description = "Unauthorized" });
|
||||||
|
operation.Responses.Add("403", new Response { Description = "Forbidden" });
|
||||||
|
|
||||||
|
operation.Security = new List<IDictionary<string, IEnumerable<string>>>
|
||||||
|
{
|
||||||
|
new Dictionary<string, IEnumerable<string>>
|
||||||
{
|
{
|
||||||
// Check for authorize attribute
|
{ "oauth2", new [] { "Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator" } }
|
||||||
|
|
||||||
var hasAuthorize = context.MethodInfo.DeclaringType.GetCustomAttributes(true)
|
|
||||||
.Union(context.MethodInfo.GetCustomAttributes(true))
|
|
||||||
.OfType<AuthorizeAttribute>().Any();
|
|
||||||
|
|
||||||
if (hasAuthorize)
|
|
||||||
{
|
|
||||||
operation.Responses.Add("401", new Response { Description = "Unauthorized" });
|
|
||||||
operation.Responses.Add("403", new Response { Description = "Forbidden" });
|
|
||||||
|
|
||||||
operation.Security = new List<IDictionary<string, IEnumerable<string>>>
|
|
||||||
{
|
|
||||||
new Dictionary<string, IEnumerable<string>>
|
|
||||||
{
|
|
||||||
{ "oauth2", new [] { "Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator" } }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user