我有一个角度的应用程序,会谈到的WebAPI和用户对Azure中的Active Directory验证如何从网络API来访问图形API在SPA应用
我跟着样品这里https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp-dotnet-webapi并能够验证用户反对AD并将其传递给Web API。
但是我想访问Web API中的Graph API并获取当前的用户配置文件信息。我如何设置它?
更新给予更多的上下文的设置:
我有一个网站(site.domain1.com)托管HTML和JavaScript文件,这使得SPA的应用。我在api.domain2.com上托管了Web API。身份验证针对使用OAuth隐式流与ADAL.js和angular-adal的Azure AD。我想在SPA中进行身份验证以获取API的accessToken。我希望在API中作为请求的一部分来查询Graph API以获取有关当前用户登录的更多信息。
我能够获取API的accessToken,并且它当前会生成Claim Principal。问题是使用Web API中的当前身份查询Graph API。
更新:
我并不想给管理员权限到Web API,但我宁愿想从浏览器转发的只是“阅读用户配置文件的用户同意”的网站,并以网络API。
我用类似的方法代表样本这里位于https://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof
它的工作为我的测试AD和AD生产没有工作。话说用户需要concent的应用程序的问题在使用Graph Api之前(仅适用于产品AD I)有用户可以添加用户权限,但不是应用程序权限。我的猜测是为了这个方案的工作,我需要AD的全局管理员先集中)。最终,我最终将用于Web站点和Web API的Azure AD应用程序合并在一起,并且与Bootstrap令牌的代表方法一起工作。但我想知道如何使它与2个应用程序正常工作。
你有没有看到示例:https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp-dotnet-webapi/tree/graph-cors –
是的,我做到了。 Thx为链接。不同之处在于,在这个例子中,他们从JavaScript访问Graph API,但我想从Web API执行此操作。它也适用于我,如果我从JavaScript访问Graph API,但我想从Web API执行此操作。 –
好的,我明白了。我为你提供一些样品,希望他们能帮助你。 –