Я не уверен, как напрямую изменить api_key, но вы можете использовать js-файл пользовательского интерфейса, чтобы полностью манипулировать им так, как вам нравится. Я ответил на аналогичный вопрос здесь.
1) Добавьте js-файл:
c.InjectJavaScript(thisAssembly, "SwashbuckleCustomAuth.CustomContent.basic-auth.js");
2) Это пример JS, который будет подключаться к серверу токенов, получать ключ API по имени пользователя/паролю, а затем добавлять его в качестве заголовка.
$('#explore').off();
$('#explore').click(function () {
var key = $('#input_apiKey')[0].value;
var credentials = key.split(':'); //username:password expected
$.ajax({
url: "yourAuthEndpoint",
type: "post",
contenttype: 'x-www-form-urlencoded',
data: "grant_type=password&username=" + credentials[0] + "&password=" + credentials[1],
success: function (response) {
var bearerToken = 'Bearer ' + response.access_token;
window.swaggerUi.api.clientAuthorizations.add('Authorization', new SwaggerClient.ApiKeyAuthorization('Authorization', bearerToken, 'header'));
window.swaggerUi.api.clientAuthorizations.remove("api_key");
alert("Login successfull");
},
error: function (xhr, ajaxoptions, thrownerror) {
alert("Login failed!");
}
});
});
Поэтому я предполагаю, что вы можете использовать более простой js для изменения имени параметра.
Это не простое изменение имени, но вы можете использовать этот подход, если это невозможно сделать простым способом (что, конечно, все еще возможно).
person
Ilya Chernomordik
schedule
09.06.2016