首页 > 解决方案 > 从身份服务器4获得未经授权的响应

问题描述

我正在使用身份 server4 处理 Api 到 Api Api1 是 .net core Api,它是 IS4 上的客户端,api 1 正在从 IS4 获取令牌并将休息请求发送到 api2,它是 .net web Api(不是 .net 核心)。

当在包括 IS4 在内的本地主机上运行所有这些时,一旦我在 IIS 上发布 IS4 并将我的 Web API 定向到它,一切正常,API 1 正在获取令牌并将请求发送到 API2,但响应回来了作为未经授权的。

任何想法 ?任何人 ?

在此处输入代码

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {                       
        app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
        {
            Authority = "http://<IdentityServer>:8081/",               
            RequiredScopes = new[] { "api2" },            
        });

        app.UseWebApi(GlobalConfiguration.Configuration);
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
    }
}

在此处输入代码

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
        var corsAttr = new EnableCorsAttribute("*", "*", "*");
        config.EnableCors(corsAttr);
        // Web API routes
        config.MapHttpAttributeRoutes();
        config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling
        = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

标签: identityserver4

解决方案


推荐阅读