學習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配置是正確的(包括隱式流),因爲我可以在其他地方使用它。我幾乎失去了。我究竟做錯了什麼?