多租户不加载参数
multitenant not loading parameters
这是我的代码,它不起作用:
services.AddMultiTenant<SampleTenantInfo>()
.WithConfigurationStore()
.WithRouteStrategy()
.WithPerTenantAuthentication()
.WithPerTenantOptions<OpenIdConnectOptions>((options, tenantInfo) => {
//options.ResponseType = tenantInfo.ResponseType;
options.Authority = tenantInfo.OpenIdConnectAuthority;
options.ClientId = tenantInfo.OpenIdConnectClientId;
options.ClientSecret = tenantInfo.OpenIdConnectClientSecret;
options.ResponseType = "code";
});
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie()
.AddOpenIdConnect(options =>
{
options.Prompt = "login consent"; // For sample purposes.
});
我要解决的问题:这是一个允许多次登录但每个用户一次登录的应用程序,所以我有几个租户,用户打算 select 其中之一和那么想法是每个租户设置一个 openidconnect,因此用户被重定向到登录到 selected 租户。
我做了什么:
一开始我的代码没有withpertenantoptions,只能在其中一个租户登陆,在另一个租户不能登陆,调试看到没有设置ResponseType,所以我加了withpertenantoptions,到仅设置响应类型,但未加载其余参数,然后我根据租户添加了其余参数,但它们仍然为空。它们保存在 appsettings.file.
中
我正在使用 Finbuckle 来处理多租户
问题很简单,我设置了两次oidc选项,所以我选择了不好的,解决方法是删除{
options.Prompt = "登录同意"; // 用于示例目的。
}
然后在其他选项中设置所有内容
这是我的代码,它不起作用:
services.AddMultiTenant<SampleTenantInfo>()
.WithConfigurationStore()
.WithRouteStrategy()
.WithPerTenantAuthentication()
.WithPerTenantOptions<OpenIdConnectOptions>((options, tenantInfo) => {
//options.ResponseType = tenantInfo.ResponseType;
options.Authority = tenantInfo.OpenIdConnectAuthority;
options.ClientId = tenantInfo.OpenIdConnectClientId;
options.ClientSecret = tenantInfo.OpenIdConnectClientSecret;
options.ResponseType = "code";
});
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie()
.AddOpenIdConnect(options =>
{
options.Prompt = "login consent"; // For sample purposes.
});
我要解决的问题:这是一个允许多次登录但每个用户一次登录的应用程序,所以我有几个租户,用户打算 select 其中之一和那么想法是每个租户设置一个 openidconnect,因此用户被重定向到登录到 selected 租户。
我做了什么:
一开始我的代码没有withpertenantoptions,只能在其中一个租户登陆,在另一个租户不能登陆,调试看到没有设置ResponseType,所以我加了withpertenantoptions,到仅设置响应类型,但未加载其余参数,然后我根据租户添加了其余参数,但它们仍然为空。它们保存在 appsettings.file.
中我正在使用 Finbuckle 来处理多租户
问题很简单,我设置了两次oidc选项,所以我选择了不好的,解决方法是删除{ options.Prompt = "登录同意"; // 用于示例目的。 }
然后在其他选项中设置所有内容