GitHubのいくつかのAzureサンプルでは、ADALを使用して保護されたWeb APIリソースにアクセスする例があります。努力は私がようように、コードをまとめますAdalExceptionActionFilter内でAdalExceptionをテストする必要がありますか?
探しのtry/catchにより保護されています
try
{
//pseudo code... configure a client to use an access token..
var token = ADAL.AcquireTokenAsync...
var httpClient = new HttpClient(baseUri, token);
// use the token for querying some protected API
var result = //await HttpClient to return data...
return View(result);
}
catch (AdalException)
{
// do something important with the exception,
// e.g. return an error View w/login link
}
だから、私は「ADAL-access_tokenは使用するように私のMVCコントローラを肉付けし始めとして、私は本当にこのすべてのコントローラでtry/catchビジネスをしたいのですか?
ActionFilter
を作成することは意味がありますか?このスニペットは、コードに触発された私はthis Azure Sampleで見た
マイコンテキスト:私は、彼らが生成された時点でEntityFrameworkを中心とした足場MVCコントローラのではなく、均質なセットを取っている ..しかし、今私の新しいAutoRestクライアントを介してWeb APIにアクセスするために再度ツールを使う必要があります
良い考え。間違いなく#2、ポインタのおかげでやっています。 – bkwdesign
上記のサンプルは自動リダイレクトを実行しません。むしろユーザーに認証プロセスを起動するためのリンクが提供されるようにUXを変更します。アイデアは、特定のコントローラーからの呼び出しを実行できないということは、必ずしもユーザーがアプリで何もできないことを意味するわけではありません。このアプローチの素晴らしい例:klout.com – vibronet