Swagger/Swashbuckle 授权。默认检查范围

Ton*_*oni 10 openid authorize swagger swashbuckle asp.net-core-webapi

是否可以在 asp.net Core 2.0 Web API 上的 Swashbuckle UI 上设置默认选中的身份验证范围复选框?

我使用“openid”范围,我希望每次都检查它。

谢谢你。

在此处输入图片说明

Edy*_*dyn 5

现在这是可能的。在 SwaggerUI 使用的选项中

options.OAuthScopes("<myapi>");
Run Code Online (Sandbox Code Playgroud)


Tom*_*kin 3

这是现代浏览器的 hacktastic 解决方法,可以将其注入到index.html.

function checkScopes(container) {
  const inputNodes = container.querySelectorAll(".scopes input");
  for (const checkbox of inputNodes) {
    checkbox.click();
    console.log('Scope checkbox modified: ' + checkbox.id);
  }
}

function watchDOM() {
  // target element that we will observe
  const target = document.body;

  // subscriber function
  function subscriber(mutations) {
    mutations.forEach((mutation) => {
      if (mutation.target.className == 'auth-wrapper') {
        checkScopes(mutation.target);
      }
    });
  }

  // instantiating observer
  const observer = new MutationObserver(subscriber);

  // observing target
  observer.observe(target, { childList: true, subtree: true });
};

document.addEventListener('DOMContentLoaded', watchDOM);
Run Code Online (Sandbox Code Playgroud)