0

iam目前正在研究如何为我们的WebService实现单点登录。 这就是我到目前为止。Azure Active Directory SSO - 帐户映射

  1. 如果我们的WebService的客户有他们可以与他们的Active Directory用户帐户给我们的WebService登录,如果我们提供了SAML,OAuth2用户,OpenID的或任何授权protocoll我们选择和蔚蓝支持的nessecary接口的AzureActiveDirectory。
  2. 客户也可以将其本地网络Active Directory同步到他们的Azure AD,并使用他们的域帐户登录到我们的WebApplication。
  3. 客户需要使用myapps.microsoft.com门户“包装”认证。
  4. 一旦所有设置都正确,身份提供者(AzureAD)将提供(例如)经过身份验证的用户身份。

这是我的问题开始。 当然,我需要以某种方式将AzureAD提供的身份映射到我们WebService的某个帐户 - 我们不能简单地使用提供的身份。

据我了解,您可以授予AzureAD在目标WebService上以当前登录用户的名义创建帐户的权利。 (其名称为:在天蓝色管理中启用自动用户配置门户)。

但是,当使用Box,Canvas或Google应用程序对此进行测试时,我失败了。要么我得到了一个错误,或者在谷歌应用程序的情况下,我只是被要求用我的azure AD测试账户登录,然后要求输入我的谷歌账户的密码和用户名(我将SSO设置为天蓝AD信任关系 - 所以这个应该不会发生)

有人可以提供一些见解如何完成以下内容?

用户通过SSO进行身份验证后,我想为我们的WebSerivce创建一个帐户,然后仅将该用户的凭据保存在该特定用户的Active Directory中。 因此,如果用户第二次登录,我们可以检查是否有已经存在的帐户并使用此帐户登录用户。

(我被微软告诉我,这也许是可能的Azure的权限管理,但我真的不能找到好文档)

存储的关系:“微软AD身份< - >我们的WebServiceAccount全权证书”我们这边不是我们所希望的,因为我们不能以一种我们不知道内容是什么的方式来加密数据。 (或有,我不知道它呢)

“奖金问题”: 我可以支持桌面应用程序的SSO吗? (我是否需要提供代理Web应用程序,或者桌面应用程序可以直接执行此操作?)

回答

1

请参阅我的答案在这里一个类似的问题:asp.net azure active directory user profile data

但是 - 我想知道,如果你需要的东西不同。您是否期望您的客户已经拥有目录和Azure AD帐户(可能通过拥有Office 365订阅),并使用这些帐户登录到您的Web应用,或者您的应用场景是否需要创建/供应用户帐户到客户的Azure AD目录?只要您的客户的管理员同意允许您的应用程序写入其目录,则可以通过图形API(根据您的链接)进行配置。您可以在github上找到一些示例,我建议您通过https://msdn.microsoft.com/en-us/library/azure/dn499820.aspxhttps://msdn.microsoft.com/en-us/library/azure/dn646737.aspx查看代码示例。

HTHs,

+0

感谢您的回答。你的链接中的选项2正好描述了我想要做的事情。 - 是的,我需要我们的客户已经拥有Azure AD,然后作为第二步,我们将支持您在配置用户帐户方面提出的建议。 – Jalatiphra 2015-03-02 08:23:14