2017-08-03 43 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获取资源。