ABP.IO - Blazor WebAssembly - 特定于租户的登录

ABP.IO - Blazor WebAssembly - Tenant-specific login

我正在为我的项目使用 ABP.IO Blazor 模板,试图构建一个简单的多租户门户。我 运行 遇到的问题是试图避免最终用户 select 登录屏幕上的特定租户。

使用此页面作为我的参考:https://docs.abp.io/en/abp/latest/Multi-Tenancy 我尝试实施域租户解析器(这将是理想的)并 运行 解决那里的一些问题。

首先,Blazor 应用程序运行并在子域中正常加载,但登录过程失败并出现 500 错误“[ERR] Invalid redirect_uri: https://mysub.localhost/authentication/login-callback”。为了解决这个问题,我在 SQL 中的 [IdentityServerClientRedirectUris] table 中添加了“https://mysub.localhost/authentication/login-callback”(认为我只是扩展租户创建过程以在提供新租户)。这有助于阻止该错误的发生,但此时系统只允许主机用户登录,所以我不确定我在那里做错了什么。

因此,在用头敲击键盘几个小时后,我改变了策略,尝试使用另一个租户解析器并尝试了 QueryStringTenantResolveContributor。最终我想要完成的是为该特定租户获得登录 link,所以我尝试了 https://localhost/authenticate/login?__tenant=075E9FC0-AB8E-C0AC-37FC-39FE07CDDF67 但这似乎并没有转移到 API 主机/身份服务器,因为登录过程仍然只接受主机用户凭据。

仅供参考,它使用的是您在其他教程中看到的标准身份验证剃刀组件,我不确定我可以在那里做些什么(如果有的话)让租户的东西坚持下去:

Authentication.razor:

@page "/authentication/{action}"
@using Microsoft.AspNetCore.Components.WebAssembly.Authentication
<RemoteAuthenticatorView Action="@Action" />

@code{
    [Parameter] public string Action { get; set; }
}

TL;DR:我到底该如何在 Blazor WebAssembly 中实现 DomainTenantResolver 东西?

是的,目前 Blazor WASM 不支持 DomainTenantResolver