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

2024-01-04

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

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

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

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

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

身份验证.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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ABP.IO - Blazor WebAssembly - 租户特定登录 的相关文章

随机推荐