Azure Active Directory SSO - 帐户映射

iam目前正在研究如何为我们的WebService实现单点登录 . 这就是我到目前为止所提出的 .

  • 如果我们的WebService的客户有AzureActiveDirectory,他们可以使用他们的活动目录用户帐户登录到我们的WebService,如果我们为SAML,Oauth2,OpenID或我们选择的任何授权协议提供nessecary接口并且azure支持 .

  • 客户还可以将其本地网络Active Directory同步到其Azure AD,并使用其域帐户登录到我们的WebApplication .

  • 客户需要使用myapps.microsoft.com门户进行"wrap"身份验证 .

  • 一切设置正确后,身份提供商(AzureAD)将提供(例如)经过身份验证的用户身份 .

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

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

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

Can someone provide some insights on how to accomplish the following?

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

(微软告诉我,这可能是Azure Rights Management的可能,但我真的找不到那方面的好文档)

存储关系:我们不希望“Microsoft AD Identity < - >我们的WebServiceAccount凭证”,因为我们不能以我们不知道在那里知道什么的方式安全地加密数据 . (或者有,我还不知道它)

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

回答(2)

2 years ago

请在此处查看我对类似问题的回答:asp.net azure active directory user profile data

但是 - 我的Azure AD目录是什么?'m trying to understand if you need something different. Are you expecting your customers to already have a directory and Azure AD accounts (maybe through having Office 365 subscriptions), and use those to sign in to your web app, or does your app scenario require creation/provisioning of user accounts into your customer'?只要客户的管理员同意允许您的应用程序写入其目录,就可以通过图形API(根据您的链接)完成配置 . 您可以在github上找到一些示例,我建议您查看https://msdn.microsoft.com/en-us/library/azure/dn499820.aspxhttps://msdn.microsoft.com/en-us/library/azure/dn646737.aspx以获取代码示例 .

HTHS,

2 years ago

我想,没有测试它 . 使用Graph API,我可以为任何目录用户保存自定义数据,从而有效地实现我所需的功能 . 这是我发现非常有用的文档 .

https://msdn.microsoft.com/en-us/library/hh974476.aspx