我正在尝试使登录窗口显示最后的帐户用户名或电子邮件,以改善用户体验。
对于Azure AD B2C,一个已知问题是,当本机客户端使用以下代码(使用默认登录流)打开交互式登录窗口时,“用户名”字段的默认值将显示为“缺少令牌”响应。”
authResult = await app.AcquireTokenInteractive(Common.ApiScopes)
.WithParentActivityOrWindowIfValid(_ParentWindowHandle)
.WithPrompt(Prompt.SelectAccount)
.WithAccount(GetAccountByPolicy(accounts, Common.PolicySignUpSignIn))
.ExecuteAsync();
为了解决这个问题,我正在使用自定义策略将“ preferred_username”放入令牌中,并且能够在客户端中获得它。
现在使用我的自定义策略使用返回的令牌,如果我使用开箱即用策略再次登录(例如第二个用户,或者使用(已过期的令牌),我可以确认可以看到用户名已根据需要预先填充了帐户中的值。但是,如果我使用相同的自定义策略打开登录窗口,则用户名字段为空。在自定义策略中是否存在我需要解决的设置才能获得所需的行为?