我正在尝试从Azure Web App...C# MVC应用获取访问令牌。这是我正在使用的代码。
public string GetToken()
{
string authority = string.Format(CultureInfo.InvariantCulture, AuthEndPoint, tenantId);
var credential = new ClientCredential(clientId, clientSecret);
AuthenticationContext authContext = new AuthenticationContext(authority,true);
var token = authContext.AcquireTokenAsync(AzureResourceID, credential).Result.AccessToken;
return token.ToString();
}如果我去掉授权字符串的末尾的V2.0,应用程序将成功返回V1.0访问令牌。
如何获取V2.0令牌?
发布于 2020-09-29 12:09:11
您无法从资源https://database.windows.net获取v2.0访问令牌,令牌的版本由资源决定,而不是客户端。
访问令牌是基于令牌的audience创建的,在您的示例中为https://database.windows.net,其相关的企业应用程序是Azure SQL Database,其Application ID为022907d3-0f1b-48f7-badc-1ba6abab6d66,它是您的客户端请求令牌的资源,它的accessTokenAcceptedVersion为null,如果该值为null,则该参数默认为1,这意味着无论您在授权中使用的是v1.0还是v2.0端点,您都可以从该资源获取v1.0令牌。
请参见- https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens

https://stackoverflow.com/questions/64111548
复制相似问题