簡體   English   中英

好像我從azure廣告中獲取了錯誤的承載令牌,APM API是未經授權的

[英]It seems that I am getting wrong bearer token from azure ad , APM API is unauthorized

var authContext = new AuthenticationContext(Constants.AUTHORITY);
            var credential =
                new ClientCredential(Constants.CLIENT_ID, Constants.CLIENT_SECRET);
            var result = (AuthenticationResult)authContext
                .AcquireTokenAsync(Constants.API_ID_URL, credential)
                .Result;
            var token = result.AccessToken;

            return token;

使用上面的代碼獲取承載令牌,我得到了錯誤的/不完整的承載令牌。 然后添加到客戶端頭中。

 client.DefaultRequestHeaders.Authorization = new
 AuthenticationHeaderValue("Bearer", token); 
 HttpResponseMessage res = client.GetAsync(urlParameters).Result;  
 response is unauthorized.

令牌是正確的。 您的代碼也很好。 我想到兩個可能的原因:

  • 仔細檢查您正在使用的身份是否確實有權訪問您嘗試訪問的服務。
  • 確保您正確調用了api。 服務/端點有不同的要求。 如果調用不正確,您可能會得到類似的信息,假設您在需要時未提供API版本。

如果您提供了完整的響應正文以及正在提出的完整請求,這將有所幫助。 您可以混淆個人數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM