我在JSON JWT Auth中遇到错误。

禁用GET Authenticate请求,以启用设置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,
        });

最佳答案

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

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


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

$ nuget locals all -clear


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

关于c# - 使用GET for Auth时Servicestack向我发送错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55080334/

10-09 22:04