我有一個ASP.NET MVC Web應用程序,需要檢查用戶是否是Azure Active Directory中特定組的成員。爲了實現這一點,我將使用Microsoft Graph API,所以我下載了他們的示例,試用了here,並且運行正常。AADSTS70001:此API版本不支持應用程序
我的下一步是使用我自己的AppId,AppSecret和RedirectUri來運行,這是我遇到麻煩的地方。在Azure中,我去了AAD的「應用程序註冊」並確保添加了該應用程序。我打開了應用程序並複製了AppId的「應用程序ID」,創建了一個密鑰並將其用作AppSecret。我檢查了所有權限並按下了「授予權限」,並將我的網址添加到回覆網址中。我還將Authority屬性從https://login.microsoftonline.com/common/v2.0更改爲https://login.windows.net/xxxxxx.onmicrosoft.com。 。
AuthorizationCodeReceived = async (context) =>
{
var code = context.Code;
string signedInUserID = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value;
ConfidentialClientApplication cca = new ConfidentialClientApplication(
appId,
redirectUri,
new ClientCredential(appSecret),
new SessionTokenCache(signedInUserID, context.OwinContext.Environment["System.Web.HttpContextBase"] as HttpContextBase));
string[] scopes = graphScopes.Split(new char[] { ' ' });
AuthenticationResult result = await cca.AcquireTokenByAuthorizationCodeAsync(scopes, code);
},
AuthenticationFailed = (context) =>
{
context.HandleResponse();
context.Response.Redirect("/Error?message=" + context.Exception.Message);
return Task.FromResult(0);
}
:
當我運行應用程序,並按下「登錄」我會正確地來登錄屏幕,但是當我嘗試登錄它會崩潰在下面的代碼運行AcquireTokenByAuthorizationCodeAsync時發生崩潰
該錯誤消息我在AuthenticationFailed得到如下:
AADSTS70001:應用程序XXXXXXXX-4f81-4508-8dcb-df5b94f2290f'不支持該API的版本。跟蹤ID:XXXXXXXX-d04c-4793-ad14-868810f00c00相關ID:XXXXXXXX-ab83-4805-baea-8f590991ec0c時間戳:2017年6月13日10:43:08Z
能有人向我解釋什麼錯誤信息手段?我應該嘗試不同的版本嗎?我曾嘗試使用Microsoft.Graph v1.3.0/Microsoft.Graph.Core v1.4.0和Microsoft.Graph v1.4.0/Microsoft.Graph.Core v1.5.0。