2016-07-06 42 views
0

學習Angular,所以請假設我什麼都不知道(這是我的假設)。SharePoint在線聯合身份驗證:Office圖形和SPO

在線開發在SharePoint上託管的應用程序。因此,訪問應用程序的用戶已經通過了與Office 365的身份驗證。這是行得通的,我的應用程序可以通過SharePoint REST API訪問SharePoint功能。

對於下一步,我想訪問Office Graph。我知道並且明白,我必須對Azure AD進行不同的身份驗證。我已經配置了一個基於this code的示例並使其工作。我正在嘗試將此代碼移植到我自己的應用程序中。我已經在Azure AD中配置了一個新的應用程序來配置託管該應用程序的SPO站點的URI。

我的目標是實現ADAL使用當前用戶的情況,因爲用戶已經登錄。與上述示例不同,我試圖在不使用路由的情況下實現此目的。我試圖運行以下代碼:

var appModule = angular.module("appModule", ["AdalAngular"]); 
appModule.config(["$httpProvider", "adalAuthenticationServiceProvider", 
function($httpProvider, adalProvider) { 
var adalConfig = {   
instance: "https://login.microsoftonline.com/", 
tenant: "<ourtenantname>.onmicrosoft.com", 
clientId: "<client id from Azure AD>", 
endpoints: {"https://graph.microsoft.com/": "https://graph.microsoft.com"}, 
cacheLocation: "localStorage" 
}; 
adalProvider.init(adalConfig, $httpProvider); 
} 
]); 

當我運行此操作時,控制檯顯示「返回的id_token不可解析」。我已經驗證了Azure AD配置是正確的(包括隱式流),因爲我可以在其他地方使用它。我幾乎失去了。我究竟做錯了什麼?

回答

0

也許我的答案不再相關,但仍然。但是我遇到了來自Microsoft的Angular和AD/Graph的類似問題。 Please read this step again您需要在Azure的App App中啓用oAuth2.0。請檢查您的應用程序清單在天藍色。