Azure active directory 如何使用Azure应用程序服务Active Directory身份验证从浏览器访问Azure地图API?

Azure active directory 如何使用Azure应用程序服务Active Directory身份验证从浏览器访问Azure地图API?,azure-active-directory,adal.js,azure-appservice,azure-maps,Azure Active Directory,Adal.js,Azure Appservice,Azure Maps,我有一个启用Azure Active Directory身份验证的Azure应用程序服务。因此,用户已经通过AD进行了身份验证。我如何使用该身份验证从浏览器中的JavaScript调用Azure Maps 我可以使用maps共享键从浏览器调用maps API,但我显然不想这样做。我还可以让浏览器调用我的服务器,让我的服务器使用共享密钥调用maps API,但我不想让我的服务器成为每次调用的中间人。好吧,在你的情况下,你可以点击https://webappname.azurewebsites.ne

我有一个启用Azure Active Directory身份验证的Azure应用程序服务。因此,用户已经通过AD进行了身份验证。我如何使用该身份验证从浏览器中的JavaScript调用Azure Maps


我可以使用maps共享键从浏览器调用maps API,但我显然不想这样做。我还可以让浏览器调用我的服务器,让我的服务器使用共享密钥调用maps API,但我不想让我的服务器成为每次调用的中间人。

好吧,在你的情况下,你可以点击
https://webappname.azurewebsites.net/.auth/me
要获取令牌以调用Azure Maps API,请按照以下步骤操作

1。导航到->查找应用程序服务->添加
[”资源=https://atlas.microsoft.com“]
附加逻辑图
如下->
PUT

2。导航到门户中的
Azure Active Directory
App registrations
->找到与你的应用服务相对应的广告应用->
API权限
->添加
Azure地图
的权限
用户模拟
,如下所示

注意:如果您在第一页上找不到
Azure Maps
,只需转到我的组织使用的
API
并搜索
ba1ea022-5807-41d5-bbeb-292c7e1cf5f6
,然后单击它并添加上面的权限

3。然后当用户登录web应用程序时,在他同意权限后,您可以使用endpoint
获取令牌https://webappname.azurewebsites.net/.auth/me
,并使用令牌用javascript调用Azure Maps API,这样用户只需登录一次,令牌是通过azure ad auth生成的

注意:在获取令牌之前,请确保已将登录应用程序的用户添加为Azure地图帐户中的角色,例如
Azure地图数据参与者->
访问控制(IAM)
,如果未添加,请按照此链接添加


您的意思是希望用户使用azure ad auth登录应用程序,同时,他将能够调用azure地图api?基本上是的。用户已登录广告和网站。我相信我应该能够以某种方式使用现有的身份验证从JavaScript进行Azure Maps API调用。在这里可以找到一堆关于此的文档和指向示例的链接:我已经浏览了那么多次,但仍然无法在这个特定场景中使用它。太棒了!非常感谢你,Joy Wang!