本地设置中的Swagger-UI基本身份验证(本地托管)

时间:2016-01-22 13:17:16

标签: basic-authentication swagger swagger-ui swagger-2.0

我使用的是本地托管版本。 swagger-ui

  

这是我之前关于设置的问题。   swagger-ui local setup

我正在尝试按照链接customize authentication swagger-ui中显示的步骤为我的api执行基本身份验证而不是api_key。我修改了dist文件夹索引文件

  

Index.html

我在脚本中所做的更改如下

  (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"));
        }
    });
});
})();

但是仍然会出现错误,因为您可以在屏幕截图中看到。 swagger-ui response screen shot

在屏幕截图中,它告诉CURL标题下的授权方法,就像预期但缺少的东西一样。这是在我提供正确的用户名和密码时获得的。否则,它会显示授权错误,这意味着它正在调用API但未获得所需的结果。

0 个答案:

没有答案
相关问题