AuthenticationContext不包含定义AcquireToken?

时间:2017-06-17 01:34:24

标签: c# api azure

我正在尝试使用Microsoft Power BI REST API,但由于我对API的熟练程度不高,所以并没有太大的帮助

据我所知,身份验证上下文是身份模型活动目录的一部分,我会三重检查它是否被引用到项目中(其余方法运行属性)

但是没有名为AcquireToken或AcquireTokenSilent的方法,我只有其他名为AcquireTokenAsync和AcquireTokenAsyncSilent idk,如果他们是一些或不是。

如果有人可以就此事提供任何意见,我们将不胜感激。

由于

enter image description here

3 个答案:

答案 0 :(得分:4)

您可能正在使用ADAL.NET V3,它似乎不再具有AcquireToken()。但它仍然有AcquireTokenAsync()。但请注意,v2和v3的方法中的参数略有变化。

ADAL.NET v3AuthenticationContext

ADAL.NET v2AuthenticationContext

答案 1 :(得分:0)

如果您使用包装器,请确保具有正确的版本-Microsoft.IdentityModel.Clients.ActiveDirectory-版本2.21.301221612。一旦引用,您可以在下面运行。有关替代方法,请参见以下博客:https://samtran.me/2018/11/11/power-bi-rest-api/

答案 2 :(得分:0)

我有同样的问题。使用Microsoft.IdentityModel.Clients.ActiveDirectory时,需要安装正确的版本。我尝试使用最新版本,但没有用。但是在安装Microsoft.IdentityModel.Clients.ActiveDirectory版本2.22.302111727之后,错误得到解决。

如果使用的是最新版本,则Microsoft.IdentityModel.Clients.ActiveDirectory库的v3中已删除AcquireToken。现在,您必须使用AcquireTokenAsync。

参考-https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/issues/443