我得到了这个令人讨厌的错误,我不知道我在这里做错了什么。我的代码甚至看起来与此博客上的代码非常相似,但在我的情况下,这不起作用。
错误消息
"'权威' Uri应该在路径中至少有一个段(即https://// ...)\ r \ nParameter name:authority"
public static string GetAzureAccessToken(string clientId, string clientSecret)
{
string tenandId = "{tenandId}";
string loginUri = $"https://login.windows.net/";
var authCtx =
new AuthenticationContext(String.Format(CultureInfo.InvariantCulture, loginUri, tenandId));
var credential = new ClientCredential(clientId: clientId, clientSecret: clientSecret);
var result = authCtx.AcquireToken(resource: "https://management.core.windows.net/",
clientCredential: credential);
if(result == null)
throw new InvalidOperationException("Failed to aquire token");
return result.AccessToken;
}
答案 0 :(得分:2)
你定义权限是错误的,它应该是:
var authCtx = new AuthenticationContext(loginUri + tenantId);
另外,我想这并不重要,但我通常会使用https://login.microsoftonline.com/tenant-id
作为权限。