Жетон постоянной авторизации Swagger - PullRequest
0 голосов
/ 10 декабря 2018

Я занимаюсь разработкой веб-API в ASP.NET Core MVC.Интересно, есть ли способ сделать маркер авторизации в swagger постоянным, чтобы авторизацию не нужно было выполнять вручную при каждом запуске приложения?Это облегчит тестирование.

1 Ответ

0 голосов
/ 21 декабря 2018

Локальное хранилище может использоваться для хранения токена авторизации.

Чтобы сохранить токен в локальном хранилище, введите в консоли браузера:

localStorage.setItem('authKey', 'the authorization token')

Затем используйте перехватчик запросов для предоставления токена из локального хранилища в качестве заголовка авторизации:

const ui = SwaggerUIBundle({
    url: "/swagger/v2/swagger.json",
    dom_id: '#swagger-ui',
    deepLinking: true,
    requestInterceptor: function (req) {
        var key = localStorage.getItem("authKey");

        if (key && key.trim() !== "") {
            req.headers.Authorization = 'Bearer ' + key;
            console.log('Authorized from authKey');
        }
    },
    presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIStandalonePreset
    ],
    plugins: [
        SwaggerUIBundle.plugins.DownloadUrl
    ],
    layout: "StandaloneLayout",
})

window.ui = ui;
...