我正在尝试编写一个将获得Oauth令牌并通过API与TFS通信的应用程序 我已经注册了一个应用程序(https://app.vsaex.visualstudio.com)并且可以获得一个带有我需要的范围的Oauth令牌。
此问题得到了微软某人的回复,询问“其中一个帐户是否偶然受Azure Active Directory支持?”
这也是我遇到的确切行为。我可以获得一个令牌并与我的个人TFS实例交谈,但是当我尝试与AD支持的TFS进行通信时,我得到了一个401.
我确实尝试使用AD Oauth,但它没有VSO的范围。 (https://azure.microsoft.com/en-us/documentation/articles/active-directory-protocols-oauth-code/)
有没有人知道如何使用Azure AD中的Oauth对TFS服务器进行API调用?
答案 0 :(得分:1)
即使使用相同的用户帐户(电子邮件地址),Microsoft帐户(MSA)和Azure AD(AAD)帐户在系统中也具有单独的标识。所以它们的访问令牌应该是不同的。
以我的帐户为例: 我有MSA(Microsoft帐户)的个人VSTS帐户和(devtoolssupport)的AAD帐户。当我登录" devtoolssupport"并执行OAuth身份验证,授权的应用程序仅列在" devtoolssupport"中,它不适用于" Microsoft帐户"。因此,使用" Microsoft帐户"验证应用程序,您需要选择" Microsoft帐户"在此页面上,然后再次执行OAuth身份验证。