多租户身份服务器openid身份验证

kiw*_*jus 5 asp.net-identity asp.net-core-mvc identityserver4

我有一个多租户应用程序,它允许每个租户拥有自己的子域/自定义域和身份验证。在此应用程序中,我使用OpenIdConnectAuthentication,是否可以使授权动态化(例如,当租户具有子域tenant1.mysite.com或自定义域tenant1.com时-授权URL为login.tenant1.mysite.com或登录名。 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
        };
Run Code Online (Sandbox Code Playgroud)

我曾考虑过可能创建一个中间件来覆盖UseOpenIdConnectAuthentication的构造函数,但这种方法不起作用,现在我没有主意了。

小智 0

我也在解决这个问题,到目前为止 IdentityModel 库似乎很有前途。

“您可以使用 IdentityModel 库以编程方式为授权端点创建 URL” http://docs.identityserver.io/en/release/endpoints/authorize.html

身份模型库。 https://github.com/IdentityModel/IdentityModel2