按照此处的建议在.NET 7的Blazor应用中使用新的.NavigateToLogin时,如何在调用NavigateToLogin(或NavigateToLogout)时传递域提示?或者是否有方法通过设置自动添加域提示?
如果没有域提示,我的用户现在登录和注销都需要一个额外的步骤。(我正在使用MSAL for Open ID Connect with Azure AD。
在这个页面中,似乎可以新建一个InteractiveRequestOptions对象,运行options.TryAddAdditionalParameter("domain_hint", "mydomain.com");
,并将其传递给Navigation.NavigateToLogin
--但它根本不工作;它根本是无效。
2条答案
按热度按时间qgzx9mmu1#
我认为这个问题仍然适用:https://github.com/dotnet/aspnetcore/issues/40046#issuecomment-1042575825-至少我是这么解决的,不知道是否有更好的方法。
因此,步骤1:添加类AuthExtensions:
然后在program.cs中,你这样连接它:
请注意,我不是100%确定您应该添加哪个参数。“hd”是基于谷歌云的域的域提示参数:https://developers.google.com/identity/openid-connect/openid-connect#hd-param
根据本指南:https://learn.microsoft.com/en-us/azure/active-directory-b2c/direct-signin?pivots=b2c-user-flow-Azure域提示参数似乎为
login_hint
或domain_hint
ovfsdjhp2#
在这个页面上,我发现我可以创建一个
InteractiveRequestOptions
对象,运行options.TryAddAdditionalParameter("domainHint", "mydomain.com");
,并将其传递给Navigation.NavigateToLogin,它工作得很好。只是要小心使用domainHint
而不是domain_hint
,这与一些文档相反。