我使用的是本地托管版本。 swagger-ui
这是我之前关于设置的问题。 swagger-ui local setup
我正在尝试按照链接customize authentication swagger-ui中显示的步骤为我的api执行基本身份验证而不是api_key。我修改了dist文件夹索引文件
我在脚本中所做的更改如下
(function () {
$(function () {
console.log('***1here is my custom content!');
var basicAuthUI =
'<div class="input"><input placeholder="username" id="input_username" name="username" type="text" size="10"/></div>' +
'<div class="input"><input placeholder="password" id="input_password" name="password" type="password" size="10"/></div>';
$(basicAuthUI).insertBefore('#api_selector div.input:last-child');
$("#input_apiKey").hide();
$('#input_username').change(addAuthorization);
$('#input_password').change(addAuthorization);
});
function addAuthorization() {
var username = $('#input_username').val();
var password = $('#input_password').val();
if (username && username.trim() != "" && password && password.trim() != "") {
var basicAuth = new SwaggerClient.PasswordAuthorization('basic', username, password);
window.swaggerUi.api.clientAuthorizations.add("basicAuth", basicAuth);
console.log("authorization added: username = " + username + ", password = " + password);
}
}
})();
(function () {
$(function () {
$('#input_apiKey').off();
$('#input_apiKey').on('change', function () {
var key = this.value;
if (key && key.trim() !== '') {
swaggerUi.api.clientAuthorizations.add("key", new SwaggerClient.ApiKeyAuthorization("my-cool-api-key", key, "header"));
}
});
});
})();
在屏幕截图中,它告诉CURL标题下的授权方法,就像预期但缺少的东西一样。这是在我提供正确的用户名和密码时获得的。否则,它会显示授权错误,这意味着它正在调用API但未获得所需的结果。