远程服务器返回错误:(401)将jwt与asp.net核心一起使用

时间:2019-06-15 12:12:46

标签: authentication asp.net-core jwt authorization asp.net-core-webapi

何时在本地主机上运行Web api没问题

url:http://localhost:5000/api/auth/login

但是当我发布Web API并在iis和Windows Server 2012上运行时,在运行登录请求时出现此错误:

  

远程服务器返回错误:(401)未经授权

启动代码:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer = true,
                    ValidateAudience = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer = "test.com",
                    ValidAudience = "test.com",
                    ValidateLifetime = true,
                    ClockSkew = TimeSpan.Zero,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("alisFhgsFsjfsjfd@#asdsaczx123@asd23-"))
                };
            });

和请求代码:

var httpWebRequest = (HttpWebRequest)WebRequest.Create("test.com/api/sms/LoginToken");
                httpWebRequest.ContentType = "application/json";
                httpWebRequest.Method = "POST";
                String username = login.Mobile;
                String password = login.Password;
                String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
                httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

请求集未输入操作网络api 其他动作正常运行

0 个答案:

没有答案