如何在自托管服务器的某些条件下跳过基本身份验证?

How to skip Basic Authentication on certain conditions in self-hosted server?

pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration(
    container.Resolve<IUserValidator>(),
    "MySpecificRealm"));
this.RequiresAuthentication();

当在 URL 中将有效的安全令牌作为参数传递时,如何绕过身份验证?

  1. 您需要将参数添加到配置文件或使用条件编译符号。这些中的任何一个都会设置一个标志,然后您可以检查该标志以绕过管道中基本身份验证的连接,可能还有 this.RequiresAuthentication().
  2. 对于那些需要身份验证的 Nancy 模块,将必需的 URL 参数添加到调用方提供安全令牌的传入请求中。
  3. 您将需要 REST API 调用来验证安全令牌,并且您需要调用它并接收回用户名,以便创建您的 IUserIndentity。