Если Вам тоже надоело постоянно нажимать действия связанные с процессом получения «токена» в Swagger, ниже один из Вариантов решения этой задачи, решение не претендует на звание самого изящного или лучшего но определенно имеет шансы на существование. Суть решения состоит в внедрение js файла в и последующей его интерпретации:
- Открываем Startup.cs
- Добавляем ссылку на наш будущий js файлик
c.InjectJavascript("../js/CustomSwagger.js");
3. Добавляем файл в wwwroot с Вашим путем.
Проверяем работоспособность написав простую команду:
console.log(«work»);
Если скрипт подключился значит двигаемся дальше 😉
document.addEventListener('DOMContentLoaded', function (event) {
setTimeout(login, 1000);
})
function login() {
document.getElementsByClassName("btn authorize unlocked")[0].click();
var doc = document.getElementsByClassName("auth-container");
doc[0].getElementsByTagName("input")[0].select();
doc[0].getElementsByTagName("input")[0].value = "bearer I6ImQyZDFkNTY3LTMzYjItNGEyZi1hZjdlLTcwZWY1MzIxYjZkOCIsImV4cCI6MTYxNTI4MDYzOSwiaXNzIjoiRmluZE1lIiwiYXVkIjoiRmluZE1lX2F1ZGllbmNlIn0.c-cVpN433lpOQDLsFKvaI3d5Tp0_qsfi45xGfTEduRs";
let event = new Event('input', { bubbles: true });
// hack React15
event.simulated = true;
doc[0].getElementsByTagName("input")[0].dispatchEvent(event);
document.getElementsByClassName("btn modal-btn auth authorize button")[0].click();
document.getElementsByClassName("btn modal-btn auth btn-done button")[0].click();
}
Выше представлен полный код с процессом авторизации и автоматического поставления токена, теперь добработаем серверный код что бы он посдтавлялся только в режиме отладки
#if DEBUG
c.InjectJavascript("../js/CustomSwagger.js"); //javascript path
#endif