據我所知,如果你有啓用Web應用程序的認證/授權AD登錄如下。
你不需要更改任何代碼。如果用戶想要訪問您的Web應用程序,Azure會自動將用戶重定向到AD登錄頁面。
如果用戶登錄成功,那麼它會返回一個令牌到應用程序,在此令牌包含用戶的信息。
更新:
我建議你可以用湛藍的廣告圖形API來獲取用戶信息。
如果你想使用蔚藍廣告圖形API,您需要獲得訪問令牌。
我建議你可以先訪問此url。
使用搜索欄搜索您的網頁,手機或API應用程序。
單擊編輯以啓用更改。
設置additionalLoginParams以下幾點:
["response_type=code id_token", "resource=https://graph.windows.net"]
點擊頁面頂部的讀/寫按鈕啓用更改。
單擊PUT按鈕保存您的更改。
這樣的結果是:
然後,你可以在你的應用程序與令牌發送請求,以獲取用戶信息,添加以下代碼。
string accessToken = this.Request.Headers[
"X-MS-TOKEN-AAD-ACCESS-TOKEN"];
// Call into the Azure AD Graph API using HTTP primitives and the
// Azure AD access token.
var url = "https://graph.windows.net/me?api-version=1.6";
var request = WebRequest.CreateHttp(url);
var headerValue = "Bearer " + accessToken;
request.Headers.Add(HttpRequestHeader.Authorization, headerValue);
using (var response = request.GetResponse())
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
string jsonResponse = streamReader.ReadToEnd();
Response.Write(jsonResponse);
}
此URL用於獲取當前用戶信息。
https://graph.windows.net/me?api-version=1.6
如果你想獲得用戶的組,我建議你可以改變爲以下鏈接:
https://graph.windows.net/myorganization/me/$links/memberOf?api-version
更多關於這個API的細節,你可以參考這個article。
如果你想獲得用戶的個人資料圖片,我建議你可以改變爲以下鏈接:
https://graph.windows.net/myorganization/me/thumbnailPhoto?api-version
更多細節,你可以參考這個article。
注意:您需要授予您的Web應用程序足夠的權限以啓用獲取這些值。
圖片是這樣的:
我已經做到了,但我想知道如何獲得該令牌進入我的應用程序,這樣我可以檢索像安全組信息,用戶所屬,資料圖片等 – MV23
我已經更新了我的答案,我建議你可以發送請求到AD圖獲取用戶信息。 –
謝謝你的詳細解答。我會試試看。 – MV23