我跟随此Cordova & ADAL tutorial。我能够在我的原生应用程序上成功执行目录搜索。我想扩展应用程序的功能并添加一个azure web api资源并在同一个应用程序中使用它。
我使用VS2015模板创建了azure web api,将其发布到azure,将其添加为Azure Active Directory中的Web应用程序,并使我的本机应用程序可以访问其他应用程序的权限" Azure AD中的部分。
我现在想扩展示例目录搜索器应用程序,以便在不让用户再次登录的情况下使用api。根据我的研究,我发现我可以使用刷新令牌消耗多个资源,但是如果没有第二次将用户签名到Azure AD以获取web api资源的令牌,我就无法弄清楚如何执行此操作。
非常感谢任何示例或帮助。这是我的jsFiddle,让您了解我想要做的事情。
WidgetBlue retVal = new WidgetBlue();
答案 0 :(得分:0)
我意识到这是一个古老的问题,但对于其他任何人:
在Azure中为客户端应用程序(ClientA)分配所需的延迟权限,使用acquireTokenAsync
进行身份验证,然后通过acquireTokenSilentAsync
请求其他资源(ClientB),同时提供ClientB和ClientAs Client的资源名称ID。
this.authContext.acquireTokenSilentAsync(
clientBResourceUri,
clientAId
);
这将为您返回clientB的JWT和刷新令牌,这些令牌将存储在tokenCache中。如果系统提示您用户需要登录,请确保已授予ClientA应用访问ClientB的权限