ServiceStack + Swagger - CredentialsAuthProvider

ServiceStack + Swagger - CredentialsAuthProvider

如何在实施自定义身份验证提供程序 (CredentialsAuthProvider) 时使用 Swagger UI 对 ServiceStack 进行身份验证。

对于基本身份验证提供程序,我只发送使用 base64 编码的授权 header user:password,但是这个怎么样?

v4.0.43+ 开始,现在 available on MyGet, ServiceStack's Swagger API Feature supports adding a UserName and Password which gets sent in HTTP Basic Auth Headers 每个 Swagger 请求允许访问经过身份验证的服务:

这使用 BasicAuthProvider 是通过 HTTP Basic Authentication 启用身份验证,这可以在注册您的 AuthFeature 时启用:

Plugins.Add(new AuthFeature(...,
    new IAuthProvider[] {
        new BasicAuthProvider(appSettings), 
        ...
    });

如果您只启用了 CredentialsAuthProvider,则需要先在 Swagger 外部进行身份验证,例如手动调用 URL:

/auth/credentials=Username=xxx&Password=xxx

如果成功,您就可以使用 Swagger UI.

访问经过身份验证的服务