Pat*_*ski 5 c# azure-active-directory openid-connect azure-ad-msal blazor-webassembly
在客户端的 Blazor WebAssembly 应用程序中使用MSAL.NET时,是否有任何方法可以提供域提示(或以其他方式避免需要“选择帐户”提示)?我想这可能是传递给 builder.Services.AddMsalAuthentication 的设置或选项,但我没有看到它。
我为服务器弄清楚了,但还没有为客户端弄清楚。如果无法设置此选项,我在尝试进行身份验证时会收到来自 microsoftonline.com 的多余“选择帐户”提示。
我目前在客户端的 Program.cs 中有:
builder.Services.AddMsalAuthentication(options =>
{
builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
options.ProviderOptions.DefaultAccessTokenScopes.Add(myScope);
options.UserOptions.RoleClaim = "roles";
});
Run Code Online (Sandbox Code Playgroud)
通过跟进这个问题,我终于让它在 .NET 7+ 中工作。重定向到登录的 Blazor 代码应该是这样的。
private void NavigateToLogin()
{
InteractiveRequestOptions requestOptions = new()
{
Interaction = InteractionType.SignIn,
ReturnUrl = Navigation.Uri
};
requestOptions.TryAddAdditionalParameter("domainHint", "mydomain.com");
Navigation.NavigateToLogin(Options.Get(DefaultOptionName).AuthenticationPaths.LogInPath, requestOptions);
}
Run Code Online (Sandbox Code Playgroud)
注意是domainHint和不是domain_hint。
| 归档时间: |
|
| 查看次数: |
929 次 |
| 最近记录: |