在swagger ui 2.0中它是代码
var basicAuth = new SwaggerClient.PasswordAuthorization("basicAuth", username, password);
window.swaggerUi.api.clientAuthorizations.add("basicAuth", basicAuth);
Run Code Online (Sandbox Code Playgroud)
有人可以提供版本swagger ui 3.0的代码吗?
谢谢.
编辑.我试图做这样的事情 - 为Swagger-UI添加基本授权
我在使用Basic auth的服务器上使用Swagger.所以我不能初始化库.
const ui = SwaggerUIBundle({
url: "http://petstore.swagger.io/v2/swagger.json",
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis,
// yay ES6 modules ?
Array.isArray(SwaggerUIStandalonePreset) ? SwaggerUIStandalonePreset : SwaggerUIStandalonePreset.default
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
Run Code Online (Sandbox Code Playgroud)
没有基本的auth一切正常.
基本身份验证已启用 - http://prntscr.com/enxee4
我使用简单的表单构建了一个 index.html 来填充用户凭据以获取会话 ID。然后重定向到 swagger.html,并进行一些更改。
在window.onload之前:
var orgFetch;
window.setExtraHeader = function(sessionId) {
var system = window.ui.getSystem();
if(!system) return;
if(!orgFetch) {
orgFetch = system.fn.fetch;
}
system.fn.fetch = function(obj) {
if(!obj) return;
if(!obj.headers) {
obj.headers = {};
}
obj.headers['sessionId'] = sessionId;
return orgFetch(obj)
.then(function(fetchRes) {
return fetchRes;
});
}
system.specActions.download();
}
Run Code Online (Sandbox Code Playgroud)
进而:
window.ui = ui;
window.setExtraHeader(localStorage.getItem("sessionId"));
Run Code Online (Sandbox Code Playgroud)
来源: https: //github.com/swagger-api/swagger-ui/issues/2793
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
5352 次 |
| 最近记录: |