如何使用Azure AD保护Azure移动服务? ADAL.JS

时间:2015-05-21 18:16:23

标签: azure azure-mobile-services azure-active-directory adal

我在Azure AD中创建了一个应用程序。我切换到移动服务并转到身份标签。对于MS身份,请求客户端ID。我在Azure AD配置选项卡中找到了客户端ID。

但是,我不知道如何使用Client Secret和Package SID。看起来您希望使用Windows应用商店应用访问该服务而不是我正在使用的Javascript应用。

所以,我的问题是,当AngularJS Web应用程序访问该服务时,如何使用Azure AD保护Azure移动服务?

(我不想使用谷歌,因为我想控制可以访问它的用户,因此我将手动将用户添加到我想授予该服务访问权限的Azure AD中。)< / p>

更新:

根据以下答案,我尝试使用ADAL.JS.它主要是工作&#34;有以下问题。

  1. Chrome锁定紧张 - 它无法正常工作。

  2. 使用添加到我的Azure AD域的Microsoft帐户时,它只会进入循环并继续重定向。

1 个答案:

答案 0 :(得分:3)

在“移动服务标识”配置中,对于Azure AD,请求使用以下参数

  • 应用网址
  • 客户ID
  • 允许租户

包SID与MSA帐户身份验证相关。 Azure AD位于最后。

请参阅:Register your apps to use an Azure Active Directory Account login

在Azure AD中,您需要创建一个应用程序,该应用程序将客户端ID和App ID URI与移动服务端的信息进行匹配。

要填写的其他重要信息:

  • 回复网址:您应该有一个包含您的网络应用程序的URI的条目(托管Angular)
  • 允许启用单点登录并读取用户&#39;个人资料作为委派权限
  • 通过编辑和更新应用程序清单文件
  • 来允许OAuth隐式流程

要了解更详细的步骤,特别是关于我列表中的最后一项,请查看此示例 https://github.com/AzureADSamples/SinglePageApp-AngularJS-DotNet及其自述文件

一旦您通过ADAL.JS库获得了访问令牌,您就可以使用它来调用Mobile Service的登录方法,只提供正确的身份验证提供程序名称,并使用ADAL.JS检索访问令牌

使用ADAL.JS代替Mobile Services SDK获取访问令牌,还可以返回刷新令牌,您可以将其缓存并存储以进行自动访问令牌续订;避免让用户每次都输入凭证