私はユーザーが属している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;
}
です:ここで
は、私がアクセストークンを取得する方法ですか?他のテナントには私が気付いていない「特別な紺碧の定期購読」が必要ですか?
簡潔に:他のテナントにどのように働かせるのですか?
編集:
AuthenticationResult authResult = authContext.AcquireToken(graphResource, clientID, redirectURI,PromptBehavior.RefreshSession, UserIdentifier.Any, "prompt=admin_consent");
しかし、それは「重複クエリパラメータ「プロンプトがあるというエラーをトリガ:私は手動でこのように、要求に「プロンプト= admin_consent」を追加しようとしました'in extraQueryParameters'
エラーメッセージのCorrelationIdとTimestampを含めることはできますか? –
@PhilippeSignoretはい、完了しました。 – Patsuan
ネイティブクライアントアプリケーションをどのように作成しましたか?どのようなインターフェイスですか? –