IdentityServer3 Multi Tenant IdSvr (single instance) with Multi Tenant Api (single instance) - 需要多个 authserver 地址
IdentityServer3 Multi Tenant IdSvr (single instance) with Multi Tenant Api (single instance) - needed multiple authserver addresses
我们有 IdSvr 单实例和 Web Api 单实例,两者都支持多租户。我们的 Web 应用程序部署到多个域,每个域都有自己的样式。企业不希望他们被重定向到 IdSvr,例如 http://multiauth.identityserver.com. They want to go from a website domain to the IdSvr using http://auth.websitedomain1.com and another would use http://auth.websitedomain2.com,等等
问题出在 Web Api 和设置 Bearer 身份验证上。
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = Constants.BaseAddress,
RequiredScopes = new[] { "cspwebapi" },
// client credentials for the introspection endpoint
ClientId = "cspclient",
ClientSecret = "8BE96BA5-79F1-4FA4-8E41-6BCE7EA7090F",
});
我只能指定http://multiauth.identityserver.com as the Authority and not multiple such as http://auth.websitedomain1.com and http://auth.websitedomain2.com。客户端收到 401。
到目前为止,我有带有绑定 auth.websitedomain1.com、auth.websitedomain2.com、auth.websitedomain3.com 的单个实例 IdSvr。现在在 Web Api(资源服务器)上,我遍历域名数组并为 Authority 属性 的每个域创建一个新的 app.Map(....)。资源服务器启动没有问题,这意味着它可以在每个域名上看到 IdSvr。 app.Map(....) 段对所有这些都必须相同......我现在发现对所有这些执行 app.Map('') 对第二个行不通或第三个域名。我在这里做某事还是这是错误的方法?我还能如何配置它以满足要求?
在您的管道中使用 UseIdentityServerBearerTokenAuthentication
的多个实例,每个 IdentityServer 安装一个,每个都配置不同的身份验证方案 (AuthenticationType
)。
然后在您的授权逻辑中,您可以检查令牌使用的身份验证方案并相应地授权对数据的访问。
我们有 IdSvr 单实例和 Web Api 单实例,两者都支持多租户。我们的 Web 应用程序部署到多个域,每个域都有自己的样式。企业不希望他们被重定向到 IdSvr,例如 http://multiauth.identityserver.com. They want to go from a website domain to the IdSvr using http://auth.websitedomain1.com and another would use http://auth.websitedomain2.com,等等
问题出在 Web Api 和设置 Bearer 身份验证上。
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = Constants.BaseAddress,
RequiredScopes = new[] { "cspwebapi" },
// client credentials for the introspection endpoint
ClientId = "cspclient",
ClientSecret = "8BE96BA5-79F1-4FA4-8E41-6BCE7EA7090F",
});
我只能指定http://multiauth.identityserver.com as the Authority and not multiple such as http://auth.websitedomain1.com and http://auth.websitedomain2.com。客户端收到 401。
到目前为止,我有带有绑定 auth.websitedomain1.com、auth.websitedomain2.com、auth.websitedomain3.com 的单个实例 IdSvr。现在在 Web Api(资源服务器)上,我遍历域名数组并为 Authority 属性 的每个域创建一个新的 app.Map(....)。资源服务器启动没有问题,这意味着它可以在每个域名上看到 IdSvr。 app.Map(....) 段对所有这些都必须相同......我现在发现对所有这些执行 app.Map('') 对第二个行不通或第三个域名。我在这里做某事还是这是错误的方法?我还能如何配置它以满足要求?
在您的管道中使用 UseIdentityServerBearerTokenAuthentication
的多个实例,每个 IdentityServer 安装一个,每个都配置不同的身份验证方案 (AuthenticationType
)。
然后在您的授权逻辑中,您可以检查令牌使用的身份验证方案并相应地授权对数据的访问。