Здравствуйте, Shmj, Вы писали:
НС>>Дублировать ничего не надо, это в хидере передается.
S>Где написать, чтобы в каждом из 100 методов появился такой параметр?
Ну ты уже совсем обленился. Ни вопрос нормально задать, ни погуглить.
private class AddAccessToken : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
var descriptor = (ReflectedHttpActionDescriptor)apiDescription.ActionDescriptor;
var actionAttributes =
descriptor.MethodInfo.GetCustomAttributes(typeof(AuthScopeAttribute), true).OfType<AuthScopeAttribute>();
var controllerAttributes =
descriptor.ControllerDescriptor.GetCustomAttributes<AuthScopeAttribute>(true).OfType<AuthScopeAttribute>();
if (actionAttributes.All(a => a.AuthorizationType == AuthorizationType.None)
&& controllerAttributes.All(a => a.AuthorizationType == AuthorizationType.None))
return;
if (operation.parameters == null)
operation.parameters = new List<Parameter>();
operation.parameters.Add(
new Parameter
{
description = "Access token",
@in = "header",
name = "Authorization",
required = true,
type = "string"
});
}
}
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>