次の行を使用して、ローカルで作業しているときにユーザーを認証できます
AuthenticationResult result = context.AcquireToken(resource,clientID, returnURI, PromptBehavior.Always);
ローカルで、サインイン画面と UserInfo を取得します。
Web アプリを Azure に発行すると、上記のコードがこのエラーで失敗します
"Error HRESULT E_FAIL has been returned from a call to a COM component"
[COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.]
Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask(Task`1 task) +89
これは何が原因ですか?共有サイト (例: xxx.azurewebsites.net) に発行しています。そのため、サーバー コンピューターにアクセスして変更を加えることができません。ポータルを使用する以外にはありません。
コードはローカルで期待どおりに機能します。
また、JavaScript バージョン (ADAL.js) は、同じテナント、clientID、returnURI を使用して動作します