2017-08-03 7 views
0

私のWeb APIはAzure ADを使用して認証し、認証します。私はまた、一定期間内にセキュリティで保護されたAPIを呼び出すバックグラウンドジョブを持っています。Azure ADを使用したバックグラウンドジョブアクセス保護されたAPI

問題は、APIを呼び出すためには、バックグラウンドジョブをログインしてアクセストークンを取得する必要があります。しかし、バックグラウンドジョブは黙って実行されており、ユーザー資格情報を入力するウィンドウを表示することはできません。

バックグラウンドジョブで保護されたAPIを呼び出す方法はありますか?

私の回避策は、スーパーユーザーの暗号化されたユーザー名/パスワードを保存することです。バックグラウンドジョブが実行されると、ユーザー名/パスワードでトークンが取得されます。その後、ヘッダーにアタッチし、APIを呼び出します。

答えて

0

OAuth 2.0クライアントの資格情報グラントを使用すると、アプリケーションのIDを使用してWebホストされたリソースにアクセスできます。

クライアントクレデンシャルフローでは、アプリケーションはアプリケーションIDを使用してアプリケーションID、資格情報(パスワードまたは証明書)、およびアプリケーションID URIをAzure ADに提示してアクセストークンを要求します。認証に成功すると、デーモンはAzure ADからアクセストークンを受信し、Web APIを呼び出すために使用されます。

Daemon or Server Application to Web API scenarioの詳細については、ここをクリックしてください。

hereはAzure AD認証ライブラリ(ADAL)とAzure ADのOAuth 2.0を使用してWeb APIからリソースを取得するデーモンまたはサーバーアプリケーションを構築する方法を示すコードサンプルです。

関連する問題