AccessToken を取得しようとすると、次のエラーが発生します。
/MicrosoftGraph/Authorise?error=access_denied&error_description=AADSTS65005%3a+The+client+application+has+requested+access+to+resource+%27https%3a%2f%2fgraph.microsoft.com%2f%27.+This+request+ has+failed+because+the+client+has+not+specified+this+resource+in+its+requiredResourceAccess+list.%0d%0aTrace+ID%3a+7cd46ad3-d294-41ad-98ec-6ef06db7a0db%0d%0a相関+ID%3a+4e2a6d3b-b3dd-4a98-b36d-550d8f8c3382%0d%0aタイムスタンプ%3a+2016-01-27+10%3a40%3a12Z
どちらが... graph.microsoft.comクライアントがrequiredResourceAccessリストでこのリソースを指定していないため、この要求は失敗しました
Azure Active Directory のマルチテナント アプリケーションです。メール ID の 1 つで正常にログインできますが、別の ID ではログインできません。
どこが間違っていますか?私は何が欠けていますか?
コードスニペット:
public ActionResult Login() {
....
Uri authUri = authContext.GetAuthorizationRequestURL(
MicrosoftGraphSettings.O365UnifiedAPIResource,
MicrosoftGraphSettings.ClientId,
loginRedirectUri,
UserIdentifier.AnyUser,
null);
string authUriAsString = authUri.ToString();
return Redirect(authUriAsString);
}
public async Task<ActionResult> Authorise()
{
Uri loginRedirectUri = new Uri(Url.Action("Authorise", "MicrosoftGraph", null, Request.Url.Scheme));
var authContext = new AuthenticationContext(MicrosoftGraphSettings.AzureADAuthority);
var authResult = await authContext.AcquireTokenByAuthorizationCodeAsync(
Request.Params["code"],
loginRedirectUri,
new ClientCredential(MicrosoftGraphSettings.ClientId, MicrosoftGraphSettings.ClientSecret),
MicrosoftGraphSettings.O365UnifiedAPIResource);
}
私は次のことを試しました
public static string O365UnifiedAPIResource = @"https://graph.microsoft.com/";
//public static string O365UnifiedAPIResource = @"https://graph.windows.net/";
2 番目のものを使用すると、認証は成功しますが、既存のコードを使用して OneDrive for business アカウントのファイルのリストにアクセスしたり、テキスト ファイルを作成したりするたびに、API 呼び出しの実行中に Unauthorized 例外がスローされます。