我正試圖通過遵循此azure tutorial來開發具有SSO的Java Web應用程序。我在Azure中創建了一個帳戶並創建了一個AD。在Tomcat中開發和部署代碼。當我嘗試訪問該頁面時,出現以下錯誤SSO中的圖形API在Azure AD中不起作用
Exception - java.io.IOException: Server returned HTTP response code: 403 for URL: https://graph.windows.net/ppceses.onmicrosoft.com/users?api-version=2013-04-05
我沒有找到足夠的此錯誤答案。我將api版本更改爲1.6。即使這樣也行不通。
更多的分析:
故障排除之後,我發現登錄的用戶信息被提取,並提供在會話對象。它嘗試讀取響應並將其轉換爲String對象時出錯。以下是調用方法出錯的地方。
HttpClientHelper.getResponseStringFromConn(conn, true);
實際的方法來寫響應轉換成字符串:
public static String getResponseStringFromConn(HttpURLConnection conn, boolean isSuccess) throws IOException {
BufferedReader reader = null;
if (isSuccess) {
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
reader = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
StringBuffer stringBuffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null) {
stringBuffer.append(line);
}
return stringBuffer.toString();
}
實際的問題是在圖形API,我們試圖讀取該字符串格式的響應。
你解決了這個問題嗎? – Paul
@Paul,因爲它的優先級低,我轉移到其他項目上。要回答你的問題,不,我會在有機會的時候處理這件事。你有解決方案嗎? – Anand