当从Microsoft.IdentityModel.Clients.ActiveDirectory的v3.16.1升级到v3.17.0时,我无法找到关于如何使用带有clientId和clientSecret的ADAL应用程序提供访问令牌的重载,我以前可以将其作为ClientCredential对象传递。
下面的AcquireTokenAsync过载不再存在,那么接下来的方法是什么呢?
var clientCredential = new ADAL.ClientCredential(AppId, AppSecret);
var token = await authenticationContext.AcquireTokenAsync(GraphResourceId, clientCredential);发布于 2017-10-10 08:36:19
AcquireTokenAsync在AuthenticationContextConfidentialClientExtensions类中,仍然能够使用。请参阅以下代码(源代码):
/// <summary>
/// Acquires security token from the authority.
/// </summary>
/// <param name="ctx">Authentication context instance</param>
/// <param name="resource">Identifier of the target resource that is the recipient of the requested token.</param>
/// <param name="clientCredential">The client credential to use for token acquisition.</param>
/// <returns>It contains Access Token and the Access Token's expiration time. Refresh Token property will be null for this overload.</returns>
public static async Task<AuthenticationResult> AcquireTokenAsync(this AuthenticationContext ctx,
string resource, ClientCredential clientCredential)
{
return await ctx.AcquireTokenForClientCommonAsync(resource, new ClientKey(clientCredential))
.ConfigureAwait(false);
}请检查一下,如果你还有问题,可以随时通知我。
https://stackoverflow.com/questions/46660784
复制相似问题