在公司AD中的Windows 10上使用ADAL for .NET登录Azure AD

时间:2017-03-14 14:42:16

标签: c# azure azure-active-directory adal

最近,我遇到了ADAL for .NET的以下行为,这种行为特定于此环境:Windows 10 +企业活动目录。

@RequestMapping(...)
public @ResponseBody MyPojo getMyPojo(@PathVariable("id") Integer id, @RequestBody MyOtherPojo) {
    MyPojo myPojo = new MyPojo();
    // do some business methods
    return myPojo
}

使用... authContext = new AuthenticationContext(authority); ... var tokenResult = await authContext.AcquireTokenAsync( resourceId, clientId, redirectUri, new PlatformParameters(PromptBehavior.Auto, parentWindow)); 我无法使用正确的帐户登录,因为ADAL库未显示登录窗口(在屏幕截图上),而是使用我当前登录到Windows 10的帐户(最终显然导致访问被拒绝错误,因为我登录到Windows的帐户不在我正在连接的Azure AD中。)

有趣的是,对于正在使用Windows 7 \ 8的同事,相同的代码可以正常工作。enter image description here

那么,这里可能出现的问题是什么?

1 个答案:

答案 0 :(得分:0)

PromptBehavior.Auto将尝试使用活动令牌,但如果刷新令牌无效/过期或需要凭据,则会显示登录页面。您可能会因某种原因需要重新进行身份验证,并且系统会提示您再次登录缓存中的用户。如果您在Win 10设备上加入了域名,它将自动使用该用户。

您应该可以点击Use another account按钮登录其他用户。或者,您可以使用PromptBehavior.Always忽略缓存并允许您登录新用户。