2017-02-14 11 views
0

ADALをadmin_consentを使用することができません:私はADAL Xamarin.PCL

result = await authContext.AcquireTokenAsync(AppIdURI, ClientId, RedirectUri, PlatformParameter, UserIdentifier.AnyUser, "prompt=admin_consent"); 
Xamarin PCLに次のコードを使用しようとしていますとき

Xamarin.PCL

に余分なクエリパラメータとして「プロンプト= admin_consent」を使用することができません

私は例外受け取る:extraqueryparameters

の 'プロンプト'

重複クエリパラメータを

マルチテナントのシナリオで、この呼び出しを使用して管理者レベルでアプリケーションのアクセス許可を追加しています。 "prompt = admin_consent"を指定しないと、すべてのユーザーに対してアプリケーションに同意できません。デフォルトの動作を使用すると、最初のログイン時にADALは管理者の同意を示しますが、Azure ADの変更は保存しません。

誰かがこの問題の管理方法を知っているかもしれません。

var PlatformParameter =new PlatformParameters(this); 

'これは' '活動' です:私はXamarinのAndroidプロジェクトにPlatformParameterを作成してい

おかげ

アップデート2017年2月15日

。デフォルトの 'prompt'パラメータを生成するように見えます。

この問題は実際にはXamarinのみであり、UWPとWPFまたはASP.NETでは問題はなく、マルチテナントシナリオでのみ問題になります。

+0

[ADAL利用者の同意は、既に管理者が同意している場合でもトリガされます]の可能な複製(http://stackoverflow.com/questions/30638506/adal-user-consent-triggered-even-when-admin-has-already-consented) ) – SushiHangover

+0

コードで生成された完全なログインURLを共有できますか?私の仮定は、あなたの他のパラメータの1つがプロンプト値を設定しているということです。 –

+0

SushiHangover、それは重複しておらず、あなたが指摘したトピックは別の問題です。私の質問は、実際のXamarin版のADALの場合のみです。私はUWP、WPF、コンソールアプリケーション、ASP.NETで "prompt = admin_consent"を使用するように強制しているときに、アプリケーションの同意に問題はありません。 –

答えて

1

ここでの問題は、渡しているオーバーロードがログインURLに「プロンプト」クエリ文字列を設定していることです。したがって、別のクエリ文字列を "prompt"で手動で追加すると、重複するパラメータが表示されます。

PlatformParameterが 'PromptBehavior.Auto'に設定されていることを確認する必要があります。追加のクエリ文字列パラメータは機能しません。

これが役立つ場合はお知らせください。

+0

アドバイスをいただきありがとうございます。しかし、PromalBehavior.Autoは、ADALのXamarin(PCL)版では利用できません。 PlatformParameterはPlatformParameters(this)です。これはActivityです。デフォルトの 'prompt'パラメータを生成するように見えます。 –

関連する問題