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 回答
请在此处查看我对类似问题的回答: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.aspx和https://msdn.microsoft.com/en-us/library/azure/dn646737.aspx以获取代码示例 .
HTHS,
我想,没有测试它 . 使用Graph API,我可以为任何目录用户保存自定义数据,从而有效地实现我所需的功能 . 这是我发现非常有用的文档 .
https://msdn.microsoft.com/en-us/library/hh974476.aspx