使用GET for Auth时Servicestack向我发送错误

时间:2019-03-09 17:58:52

标签: c# servicestack

我在JSON JWT Auth中遇到错误。

GET身份验证请求被禁用,以启用设置AuthFeature.AllowGetAuthenticateRequests = true

这几天前奏效了,我不知道我们为改变它所做的更改。 我在身份验证功能中找不到此属性。我什至从GitHub单元测试中复制了代码。它看不到AuthFeature中的AllowGetAuthenticateRequests属性。

        Plugins.Add(new AuthFeature(() => new CustomUserSession(),
            new IAuthProvider[]
            {
                new BasicAuthProvider(),                    //Sign-in with HTTP Basic Auth
                new JwtAuthProvider(AppSettings) {
                    //HashAlgorithm = "HM256",
                    //PrivateKey = privateKey.ExportParameters(true),
                    AuthKeyBase64 = AppSettings.GetString("jwt.auth.key"),
                    RequireSecureConnection = false,
                    //Turn on for Prod: EncryptPayload = true
                    }, //JWT TOKENS
                new CredentialsAuthProvider(AppSettings)
            })
        {
            HtmlRedirect = "/",
            //IncludeRegistrationService = true,
        });

1 个答案:

答案 0 :(得分:1)

AuthFeature.AllowGetAuthenticateRequests属性是一个lambda,您可以在其中启用以下所有GET请求:

Plugins.Add(new AuthFeature(...) {
    AllowGetAuthenticateRequests = req => true
});

如果没有为您显示,则可能安装了较旧的预发行版本,以安装最新版本clear your NuGet packages cache

$ nuget locals all -clear

然后再次恢复您的解决方案。