Xamarin.Forms PCLモバイルアプリケーションを開発中で、Azure経由での認証が必要な内部APIにアクセスする必要があります。私の同僚は、コンソールアプリケーションで動作するコードスニペットを私に与えました。私はモバイルアプリケーション用にそれを適応しようとしています。Xamarin.Forms用のADALパッケージをインストールした後のリソースがありませんPCL
ADAL packageをPCLに正常に追加できました。ただし、認証では、プラットフォーム固有のバージョンごとにPlatformParameters
のセットを渡す必要があります。私はXamarin.AndroidプロジェクトにADALパッケージを追加しようとすると、私は私のResource.Designer.cs
ファイルに次のエラーを取得:
ERROR: 'Resource.Id' does not contain a definition for 'agentWebView'
ERROR: 'Resource.Layout' does not contain a definition for 'WebAuthenticationBroker'
をResource.Designer.cs
内のコードの(自動生成)関連する行は、次のとおりです。
global::Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory.Resource.Id.agentWebView = global::MissionControlAuth.Droid.Resource.Id.agentWebView;
global::Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory.Resource.Layout.WebAuthenticationBroker = global::MissionControlAuth.Droid.Resource.Layout.WebAuthenticationBroker;
これらの不足しているリソースの名前は、ADALパッケージがユーザーにログインページを表示するために使用できるWebviewを指す必要があることを示しています。残念ながら、私はStackOverflowやXamarinフォーラムでこれについて何の言及も見つけられませんでした。自分のXamarin.Forms PCLのADALパッケージを正しく設定するにはどうしたらいいですか?
プラットフォーム/ライブラリバージョン
- の.NET Framework 4.5
- Xamarin.FormsはXamarin.AndroidとUWP
- のVisual Studio 2015
- Microsoft.IdentityModelをターゲットv2.0.0.6482。 Clients.ActiveDirectory v3.5.207081303-alpha(relevant answer)
- あるいは、Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory v4.0.209160138アルファ(relevant answer)
新しいXamarin.Forms PCLプロジェクトを作成
- を再現手順。
- 上記のADALパッケージのいずれかを選択し、PCLに追加してください。
- 同じパッケージバージョンをXamarin.Androidプロジェクトに追加します。ライブラリは正常にインストールされますが、Visual Studioの[エラーリスト]タブにリソースエラーがありません。
私の元の記事で述べたように、私は非実験的なADAL v3.5.207081303-alphaバージョンも試してみましたが、同じエラーが発生します。また、以前はMSALを調べましたが、ドキュメントによれば、既存のAzure ADはサポートしていません。これを回避する方法はありますか? –