2017-08-03 45 views
0

我的web api使用Azure AD進行身份驗證和授權。我也有一段後臺工作,可以在一段時間內調用受保護的api。使用Azure AD後臺作業訪問安全API

問題是爲了調用api,後臺作業必須通過登錄認證並獲取訪問令牌。但後臺作業正在靜默運行,並且無法提示窗口鍵入用戶憑據。

是否有任何方法在背景作業中調用受保護的API?

我的工作是我存儲一個超級用戶的加密用戶名/密碼。當我的後臺作業運行時,它將使用用戶名/密碼獲取令牌。之後,將其附加到標題並調用API。

回答

0

您可以使用OAuth 2.0客戶端憑據授權通過使用應用程序的標識來訪問Web託管的資源。

通過使用客戶端憑證流,應用程序通過使用其應用程序身份並向Azure AD提供其應用程序ID,憑證(密碼或證書)和應用程序ID URI來請求訪問令牌。認證成功後,守護進程從Azure AD接收訪問令牌,然後用於調用Web API。

請點擊此處查看有關Daemon or Server Application to Web API scenario的更多詳情。

here代碼示例演示如何構建守護程序或服務器應用程序,該應用程序通過在Azure AD中使用Azure AD身份驗證庫(ADAL)和OAuth 2.0從Web API獲取資源。