Re[7]: Swashbuckle - пример кастомной формы типа авторизации
От: Ночной Смотрящий Россия  
Дата: 04.09.20 20:40
Оценка: 82 (2)
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.