我有一个多租户应用程序,它允许每个租户都有自己的子域/自定义域和身份验证。在此应用程序中,我使用OpenIdConnectAuthentication,是否可以使权限动态(例如,当租户具有子域 tenant1.mysite.com 或自定义域 tenant1.com 时 - 权限URL将是 login.tenant1.mysite.com 或 login.tenant1.com)。
var oidcOptions = new OpenIdConnectOptions
{
AuthenticationScheme = "oidc",
SignInScheme = "Cookies",
Authority = *dynamic*,
RequireHttpsMetadata = false,
PostLogoutRedirectUri = *dynamic*,
ClientId = "clientID",
ClientSecret = "clientSecret",
ResponseType = "code id_token",
GetClaimsFromUserInfoEndpoint = true,
SaveTokens = true
};
我想过可能创建一个中间件来覆盖UseOpenIdConnectAuthentication的构造函数,但它不起作用,现在我没有想法。
我也在处理这个问题,到目前为止,IdentityModel库似乎很有希望。
"您可以使用 IdentityModel 库以编程方式为授权端点创建 URL"http://docs.identityserver.io/en/release/endpoints/authorize.html
标识模型库。https://github.com/IdentityModel/IdentityModel2