我们正在使用ADAL for .NET来针对Azure AD对我们的UWP应用进行身份验证。 Azure AD与内部AD(使用Azure AD Connect)同步,并与AD FS联合。
当我打电话给'AcquireTokenAsync'时......
网页视图按预期弹出。
系统会提示用户在Microsoft Azure AD登录页面上输入他们的电子邮件。
当域用户输入其用户名时,会出现预期的“我们将您带到贵组织的登录页面...”消息。
用户被重定向到组织的实际自定义登录页面
所以我的问题是:我们可以跳过默认Azure AD页面的第一个提示(#2)并直接重定向到组织的登录页面吗?
我可以通过使用自定义OpenIdConnectEvents并设置域名( context.ProtocolMessage.DomainHint )在Web UI应用程序中实现相同功能。但在这个客户端应用程序场景中无法弄清楚该怎么做。欢迎任何积分。
UWP代码就像......一样简单。
AuthenticationContext ac = new AuthenticationContext("https://login.microsoftonline.com/abccompany.onmicrosoft.com");
AuthenticationResult ar = await ac.AcquireTokenAsync("resource", "clientId", new Uri("redirect url for client app"), new PlatformParameters(PromptBehavior.Always, false));
// Get token from: ar.AccessToken;
答案 0 :(得分:2)
好的我明白了。谢谢。 “ domain_hint ”就是诀窍。
AuthenticationResult ar = await ac.AcquireTokenAsync("resource", "clientId", new Uri("redirect url for client app"), new PlatformParameters(PromptBehavior.Always, false), UserIdentifier.AnyUser, "domain_hint=*******.net");