Адрес перенаправления с портом 3200 жестко запрограммирован в интерфейсе Swagger.
К счастью, существует простой обходной путь, добавляющий ключ oauth2RedirectUrl
в инициализацию Swagger.
Swaggerinit.js (добавлено в папку wwwroot/assets
):
function createSwaggerUi() {
var full = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
const ui = SwaggerUIBundle({
url: full + "/swagger/v2/swagger.json",
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout",
oauth2RedirectUrl: full + "/oauth2-redirect.html"
})
window.ui = ui;
}
window.addEventListener("load", function () {
createSwaggerUi();
});
Startup.cs:
app.UseSwaggerUI(options =>
{
options.RoutePrefix = string.Empty;
...
options.InjectJavascript("../assets/swaggerinit.js");
});
Это работает с Swashbuckle.AspNetCore.SwaggerUI, версия = 4.0.1.0.