Как в пользовательском интерфейсе Swagger.Net удалить значок замка из «анонимных» методов?

Я нашел похожую тему здесь, но она для .Net Core. У меня такая же проблема с API Swagger.Net (.Net Framework).

Я использую Swagger.Net API версии 8.3.35.101 с .Net framework 4.6.1, и я получаю значок блокировки для каждого метода в пользовательском интерфейсе Swagger. Некоторым API в моем приложении не требуется аутентификация, поэтому я хочу удалить значок замка из таких API.

Значок замка, который необходимо удалить, можно увидеть на изображении выше, выделенном красным. Я считаю, что скрытие его для анонимных методов может быть достигнуто путем реализации IOperationFilter, но я не смог найти какой-либо пример кода для его достижения с помощью .Net framework.

Нет, это не дубликат. Я уже дал эту ссылку в своем вопросе, но это для ядра .Net, и я использую Swagger.Net для платформы .Net.

prem 23.12.2020 05:55

Можете ли вы предоставить пример кода, у меня он отлично работает: nhc-noaa.azurewebsites.net/swagger/ui/…

Helder Sepulveda 28.12.2020 19:25

Код, который я пробовал, не работал, так как он для .Net Core и IOperationFilter отличается в Swagger.Net; поэтому я даже не смог его скомпилировать. Вот ссылка, которую я пробовал. Не могли бы вы поделиться примером кода ссылки, которую вы указали в своем комментарии? Я думаю, что это должно работать для меня.

prem 29.12.2020 09:15

Я имел в виду пример кода, воспроизводящий вашу проблему, в идеале полный проект... вот код моего проекта: github.com/heldersepu/nhc-noaa там я установил авторизацию с помощью ApiKey github.com /heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Star‌​t/…

Helder Sepulveda 29.12.2020 15:03

Я хотел бы разобраться, почему вы получаете значок замка на всех ... можете ли вы создать проект на GitHub, воспроизводящий ваши проблемы, и опубликовать ссылку здесь?

Helder Sepulveda 30.12.2020 20:49

Извиняюсь за задержку с ответом, был в отпуске в связи с новогодними праздниками. Я проверю ваш проект сегодня и обязательно предоставлю вам образец, если это не сработает для меня.

prem 04.01.2021 10:39

Еще раз извиняюсь за задержку с ответом, Хелдер. Я был переключен на другой проект, поэтому не мог найти время, чтобы вникнуть в эту проблему. Я видел ваш проект, и я могу выяснить основную причину этой проблемы. Проблема в том, что я не передал тип AuthorizationFilterAttribute при настройке .ApiKey в файле SwaggerConfig. Теперь я изменил свой код на c.ApiKey("ApiKey", "header", "Аутентификация ключа API", typeof(API_Bearer_Session_Authorization_Filter));. Без оператора typeof() вы получите значок замка на каждом API. Пожалуйста, опубликуйте это как ответ. Спасибо за вашу помощь.

prem 27.01.2021 11:25
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
1 446
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот ответ из того, что мы обсуждали в комментариях:

Проблема заключается в неправильном типе конфигурации ApiKey, вот как это должно быть:

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthorizeAttribute));
c.ApiKey("appId", "header", "APP ID Authentication", typeof(KeyAuthorizeAttribute));

Этот код на github:
https://github.com/heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Start/SwaggerConfig.cs#L75

И живой образец:
http://nhc-noaa.azurewebsites.net/swagger/ui/index?docExpansion=list&filter=#/

Значок замка есть только на одном из них.

Другие вопросы по теме