我正在開發一個本機應用程序,該應用程序必須顯示該用戶所屬的Office 365組。爲此,我打電話給需要驗證的Microsoft Graph API。我正在使用ADAL庫。如何從另一個租戶使用我的Azure AD應用程序?
需要權限需要管理員同意。 一切工作正常,從我的租戶用戶,但當我嘗試驗證與另一個租戶帳戶它不起作用。它一直給這個結果:
相關ID:9780ed24-9d24-4604-b8bf-28a02c2ea580
時間戳:2017年4月14日12:05:45Z
AADSTS70001:具有標識符的應用' XXXXXXXX-XXX-XXX-XXXX-XXXXXXXXXXXX」目錄XXXXXXX.onmicrosoft.com
即使我使用在第一次連接管理員帳戶沒有被發現。我從來沒有被要求同意,並且該應用程序未在其他租戶上註冊。
的應用程序註冊爲本地所以應該是多租戶和我通過「/共同」作爲權威的租戶。
我也嘗試在另一個租戶上註冊一個具有相同規格的應用程序,授予管理員對許可權的同意,並且它也可以工作。
這是我如何檢索訪問令牌:
private static string GetAccessToken()
{
AuthenticationContext authContext = new AuthenticationContext(authority);
AuthenticationResult authResult = authContext.AcquireToken(graphResource, clientID, redirectURI, PromptBehavior.RefreshSession);
var accessToken = authResult.AccessToken;
return accessToken;
}
是它的代碼中有問題的參數?其他租戶是否需要一些我不知道的「特殊天藍色訂閱」?
總之:我該如何讓它爲其他租戶工作?
編輯:我試圖將「提示= admin_consent」手動添加到請求,比如:
AuthenticationResult authResult = authContext.AcquireToken(graphResource, clientID, redirectURI,PromptBehavior.RefreshSession, UserIdentifier.Any, "prompt=admin_consent");
但它會觸發一個錯誤,說是有「重複查詢參數「提示'in extraQueryParameters「
您能否在錯誤消息中包含CorrelationId和Timestamp? –
@PhilippeSignoret是的,完成了。 – Patsuan
你是如何創建本地客戶端應用程序的?什麼接口? –